práctica Algebra lineal con MATLAB
description
Transcript of práctica Algebra lineal con MATLAB
Comunicación Técnica Comunicación Electrónica Guía para el TP2 de Matlab
TP2: Matlab. Algebra lineal con MATLAB. Secuencia de comandos a utilizar
Para sistemas de ecuaciones lineales no muy grandes es muy fácil recurrir a su solución con MATLAB, entonces conviene aprender algunas de las operaciones y funciones del manejo de matrices y vectores con esta herramienta. Esta práctica se va a orientar a usar las herramientas de MATLAB para:
Resolver un sistema de ecuaciones lineales algebraicas (SEA). Calcular la inversa y el determinante de una matriz.
Ya aprendimos a escribir matrices y vectores en MATLAB.
Operaciones básicas con Matrices ( Recordar que la norma es ponerles nombres en mayúsculas)Se escriben sus elementos por filas separados por comas o espacios en blanco.Para cambiar de fila se escribe un punto y coma (;) , se encierra todo entre corchetes.Escribir los siguientes comandos:
A = [ 1 2 ; 3 1]A = 1 2 3 1
Transpuesta de una matrizLa matriz transpuesta de A se obtiene escribiendo A con un apóstrofe
B = A' % CP Matriz transpuesta apóstrofeB = 1 3 2 1
Determinante de una matriz
Se calcula usando el comando det()c = det(A) % CP Calcula el determinante de Ac = -5
Inversa de una matriz
AINV = inv(A) % CP Devuelve AINV o sea la inversa de A. (AINV es un nombre elegido por nosotros.)AINV = -0.2000 0.4000 0.6000 -0.2000
Verificación:Recordemos que A por la inversa de A da la matriz dentidad
C = A*AINV % CP Verificación: la multiplicación por la inversa debe dar la matriz identidadC = 1 0 0 1
C = AINV*A % CP Verificación: la propiedad conmutativa del producto por la inversa
1
Comunicación Técnica Comunicación Electrónica Guía para el TP2 de Matlab
Solución de un SEA con MATLAB.Recordemos que:A. x = b donde b es el vector de términos independientes de este sistema no homogéneo.
Sabemos que para hallar la soluciones x1 , x2 y x3 de este sistema, se multiplica la inversa por el vector b, esto se puede deducir pues si multiplicamos el sistema por la inversa de A:
Si tenemos la matriz: 1 2 3A = 1 1 0 1 0 2
>> A = [ 1 2 3 ; 1 1 0 ; 1 0 2 ] %CP (CP: Cortar y Pegar el la Command Windows de Matlab)
ObtenemosA = 1 2 3 1 1 0 1 0 2
Escribir el vector columna b (o términos independientes del sistema)
>> b = [ 10 1 7 ]’ % CP el apóstrofe es para que sea un vector columna o [10 ; 1 ; 7] por los punto y coma
b = 10 1 7Entonces el sistema dado por
1 2 3 x1 10 A *x = b 1 1 0 * x2 = 1 Debemos calcular x1 x2 x3
1 0 2 x3 7
Sabemos que: A-1 * A x = A-1 * b como A-1*A = I por lo tanto: x = A-1 * b
Entonces x = A-1 * b en MATLAB se calcula A-1 con la función inv(A), la matriz A no debe se singular.>> x = inv(A) * b % CPx = 1.0000 0.0000 3.0000 Obtenemos así los valores de x1 = 0 x2 = 0 x3= 3
Verificación:>> A * x % CPans = 10 1 Que son los valores del vector b. 7
Nota: Internamente en MATLAB es más eficiente la operación ‘premultiplicación por la inversa’ que se representa por el operador \ (barra invertida).Así la solución del sistema Ax =b se obtiene con el comando:>> x = A \ b % CP (probar esta forma de calcular las raíces).Con este operador el comando >> A \ A Da como resultado una matriz unidad de 3x3.
2