Matrices en Matlab/Octave

As matrices dánse por filas, rematando cada fila por “;”:
>> M=[1 2 5; 2 -1 6; 3 0 -1] %as compoñentes da fila sepáranse por espacios ou comas

Poden crearse matrices cunha lei de formación:
>> A=ones(2,3) %matriz 2 x 3 de uns
>> B=zeros(4) %matriz 4 x 4 de ceros
>> C=eye(4,5) %matriz identidade 4 x 5
>> C=rand(2) %matriz pseudo aleatoria 2 x 2, 0≤C≤1

Coma nos vectores, distínguese entre operacións matriciais (+ – * / ^) e elementais (.* ./ .^). Como xa comentamos, as funcións intrínsecas son elementais.

Algunhas funcións específicas para matrices son:

  • ', traspón a matriz;
  • size, mostra o número de filas e columnas da matriz;
  • det, calcula o determinante;
  • rank, devolve o rango;
  • inv, calcula a inversa;
  • eig, calcula os autovalores (e autovectores).

Para extraer compoñentes actúase coma nos vectores:
>> M(2,3) %devolve a compoñente (2,3)
>> M(:,3) %devolve a 3ª columna
>> M(2,:) %devolve a 2ª fila
>> M([1 5 3],1:2) %é unha matriz orlada 3x2
>> triu(M), tril(M), diag(M) %triangular superior, inferior e diagonal
>> I=diag(diag(M)) %matriz diagonal, con diag(I)=diag(M)

A xuxtaposición de matrices permite construir matrices por bloques:
>> A=[1 2; 5 -2]; B=[-10 30; A] %en B engadimos filas a A
>> C=[eye(2) zeros(2,2); zeros(2,2) A] %C é diagonal por bloques

Resolución dun sistema linear

O sistema linear Ax=b resólvese en Matlab e Octave co comando >>x=A\b. Se o sistema é compatible determinado, devolverá a única solución do sistema. Noutro caso, devolve a solución obtida por mínimos cadrados. (Véxase tamén chol e lu).

Exercicios

  1. Crea dúas matrices cadradas, A y B, do mesmo tamaño.
  2. Mostra o seu número de filas e columnas.
  3. Súmaas, multiplícaas matricial e elementalmente.
  4. Calcula a trasposta, o rango e odeterminante de A.
  5. Calcula os autovalores de A.
  6. Resolve o sistema Ax=[1;1;…;1].
  7. Extrae os elementos que están nas dúas primeiras filas e columnas de A. Ídem das dúas últimas filas e columnas de B.
  8. Crea unha matriz diagonal por bloques, que teña na diagonal as dúas matrices anteriores.

Na seguinte entrada falaremos doutros tipos de datos cos que se pode traballar en Matlab e Octave.

Advertisements
Esta entrada foi publicada en Matlab/Octave. Ligazón permanente.

Deixar unha resposta

introduce os teu datos ou preme nunha das iconas:

Logotipo de WordPress.com

Estás a comentar desde a túa conta de WordPress.com. Sair / Cambiar )

Twitter picture

Estás a comentar desde a túa conta de Twitter. Sair / Cambiar )

Facebook photo

Estás a comentar desde a túa conta de Facebook. Sair / Cambiar )

Google+ photo

Estás a comentar desde a túa conta de Google+. Sair / Cambiar )

Conectando a %s