CC 1000 Sesin 2 Matlab Matrices Matriz como
CC 1000 Sesión 2 - Matlab Matrices
Matriz como tabla de números Fila 1, col. 1 Fila 1, col. 2 4. 5 5. 6 Fila 2, col. 1 Fila 2, col. 2 5. 3 6. 2 Fila 3, col. 1 Fila 3, col. 2 3. 7 4. 9 En Matlab, especificamos primero la primera fila “; ” luego segunda fila “; ”… >> notas=[4. 5 5. 6 ; 5. 3 6. 2 ; 3. 7 4. 9] notas = 4. 5000 5. 6000 5. 3000 6. 2000 3. 7000 4. 9000 >> dimension=size(notas) %devuelve vector fila con num. de filas y cols. dimension = 3 2
Matriz (continuación) >> filas=dimension (1) % n° de filas 4. 5 5. 6 filas = 5. 3 6. 2 3 >> cols=dimension(2) % n° de columnas 3. 7 4. 9 cols = 2 >> [filas, cols]=size(notas); %resultado en vector de 2 elementos
Promedios por filas >> notas(1, 3)=(notas(1, 1)+notas(1, 2))/2 %extiende la matriz notas = 4. 5000 5. 6000 5. 0500 5. 3000 6. 2000 0 3. 7000 4. 9000 0 >> notas(1, 3)=mean(notas(1, 1: 2)); % M(fila, col inicial: col final) >> notas(2, 3)=mean(notas(2, 1: 2)); % promedio fila 2 >> notas(3, 3)=mean(notas(3, 1: 2)) % promedio fila 3 notas = 4. 5000 5. 6000 5. 0500 5. 3000 6. 2000 5. 7500 3. 7000 4. 9000 4. 3000
Promedios por columnas >> notas(4, 1)=mean(notas(1: 3, 1)) % M(i 1: i 2, j) notas = 4. 5000 5. 6000 5. 0500 5. 3000 6. 2000 5. 7500 3. 7000 4. 9000 4. 3000 4. 5000 0 0 >> notas(4, 2)=mean(notas(1: 3, 2)); % promedio columna 2 >> notas(4, 3)=mean(notas(1: 3, 3)) % promedio columna 3 notas = 4. 5000 5. 6000 5. 0500 5. 3000 6. 2000 5. 7500 3. 7000 4. 9000 4. 3000 4. 5000 5. 5667 5. 0333
Subamos las notas ; -) >> nmas = notas + 0. 5 % también sumar con una matriz de 3 x 3 con 0. 5 en todos los elementos nmas = 5. 0000 5. 8000 4. 2000 5. 0000 6. 6000 6. 7000 5. 1000 6. 0667 5. 5500 6. 2500 4. 8000 5. 5333 >> nmas = nmas*1. 05 % también multiplicar punto a punto con una matriz de nmas = 5. 2500 6. 9300 5. 8275 6. 0900 7. 0350 6. 5625 4. 4100 5. 3550 5. 2500 6. 3700 5. 8100
Estadígrafos por columnas Mediana: valor central (la mitad son >s y la otra <s) >> notas(5, 3)=median(notas(1: 3, 3)) ; Moda: valor que más se repite >> notas(6, 3)=mode(notas(1: 3, 3)) ; >> notas(7, 3)=max(notas(1: 3, 3)) ; >> notas(8, 3)=min(notas(1: 3, 3)) ;
Producto de vectores >> a = [1, 2, 3, 4]; >> b = [5; 6; 7; 8]; >> producto=a*b % suma de productos entre elementos producto = 70 >> c=b‘ % traspuesto (convierte columna a fila) c= 5 6 7 8 >> producto=sum(a. *c) producto = 70
Producto de Matrices >> A A= 1 2 3 4 5 6 >> B B= 1 4 2 5 3 6 >> C=A*B % cada C(i, j)=sum(A(i, : ). * B(: , J)’) suma de fila i por columna j C= 14 32 32 77
Matrices Cuadradas >> A=[1 2; 3 4]; >> I=eye(2, 2) %matriz identidad I= 1 0 0 1 >> A 1=A*I % I es neutro en producto A 1 = 1 2 3 4 >> AA=A^2 %AA=A*A potencia AA = 7 10 15 22
Matriz Inversa • • El inverso de un número para una cierta operación es el que operado con el numero original da el elemento neutro para esa operación Ej: el inverso sumativo de 5 es -5 pues 5 + -5 = 0 Ej: el inverso multiplicativo de 5 es 1/5 pues 5*1/5 = 1 Existe el concepto de matriz inversa de A (denotada A-1) de modo que A-1 A = matriz identidad (1’s en la diagonal)
Sistema Ecuaciones Lineales a 11 x 1 + a 12 x 2 +. . . + a 1 nxn = b 1. . . an 1 x 1 + an 2 x 2 +. . . + annxn = bn Ejemplo (2 x 2) x + 2 y = 25 3 x + 4 y = 55 1 3 2 4 x y = 25 55
Solución Algebraica Ax=b multiplicando cada lado de la igualdad por la inversa de A A-1 A x = A-1 b I x = A-1 b x y = 1 3 2 4 -1 25 55
Solución en Matlab >> A=[1 2; 3 4 ] A= 1 2 3 4 >> b=[25 ; 55] b= 25 55 >> x=inv(A)*b x= 5. 0000 10. 0000 >> x=A^-1*b x= 5. 0000 10. 0000 %o x=Ab usando operador
Ejemplo 3 x 3 >> A=[2 1 -2 ; 3 2 2 ; 5 4 3] A= 2 1 -2 3 2 2 5 4 3 >> b=[10 ; 1; 4] b= 10 1 4 >> x=inv(A)*b x= 1. 0000 2. 0000 -3. 0000 >> x=A^-1*b %o x=Ab usando operador x= 1. 0000 2. 0000 -3. 0000
- Slides: 15