Informatica aplicada II, CIMAT, ene-jun 2016
Notas de la clase de 9 marzo, 2016.
A=zeros(8);
Esto es equivalente a
A=zeros(8,8);
length(x)
. Por ejemplo, si x=[1 2 3]
, entonces length(x)
da 3. Esto es equivalente a size(x,2)
. En general, para una matriz A
, length(A)
es equivalente a max(size(A))
.
A
de a x b
es una matriz de b x a
, denotada por A'
(reflexion con respecto al diagonal pricipal). Esto transforma un vector columna a un vector renglon, y vice versa.
Ejemplo. Graficar y=x² en el intervalo [-10, 10].
Con ciclos:
x=-10:.1:10; n=length(x); y=zeros(1,n); for i=1:n y(i)=(x(i))^2; end; plot(x,y)
Sin ciclos:
x=-10:.1:10; y=x.^2; % nota el uso de .^ en lugar de ^ plot(x,y);
Otro ejemplo. Queremos hacer una tabla de multiplcacion de 10 por 10. O sea, una matriz de 10 por 10 cuya entrada (i,j)
es i*j
.
Con 2 Ciclos:
A=zeros(10); for i=1:10 for j=1:10 A(i,j)=i*j; end end
Con 1 solo ciclo:
x=1:10; A=zeros(10); for i=1:10 A(i,:)=i*x; end
Sin ciclos:
x=1:10; A=x'*x;En una sola linea(!):
A=(1:10)'*(1:10);Pero capaz eso ya es demasiado breve (cuestion de gusto).
Mas ejemplos: aqui.
Formalemente, la multiplicacion y suma de matrices es muy similar a la de numeros ( "esclares"), con una GRAN diferencia: A*B
no es igual a B*A
(en general). Una razon de la popularidad del algebra de matrices es que permite escribir y resolver sistemas de ecuaciones lineales de manera muy simple y clara. Esto se aprende en un curso de algebra lineal, en el 1er a~no de licenciatura de cualquier carrera cientifica. Ver la pag. 332 de Palm.