Está en la página 1de 14

INSTITUTO DE CIENCIAS FSICAS Y MATEMTICAS GUA DE TRABAJO

Asignatura : LGEBRA LINEAL Unidad 1,2: Matrices y determinantes Gua de laboratorio MATLAB Autor de la Gua: Ing. Olena Neira Tiempo estimado para el desarrollo de la gua : 2 horas Revisado por: Cdigo : 1521

El Estudiante debe estar en capacidad OBJETIVOS de: ESPECFICOS Aplicar MATLAB para:

la resolucin de sistemas de ecuaciones lineales por el mtodo de eliminacin de Gauss-Jordan Obtener la matriz traspuesta. Desarrollo de las operaciones bsicas de suma, resta, multiplicacin de matrices. La obtenencin de la matriz inversa. Resolucin de sistemas de ecuaciones mediante la inversa. Clculo de Determinantes Resolucin de sistemas de ecuaciones lineales mediante La Regla de Cramer

1.- PREREQUISITOS: Los temas necesarios para esta unidad son: Uso de matrices y Desarrollo de operaciones aritmticas y algebraicas. Ecuaciones de primer grado con una incgnita. Resolucin de sistemas de dos ecuaciones de primer grado con dos incgnitas.

2.- MATERIAL NECESARIO IMPRESCINDIBLE: Howard Anton. Introduccin al lgebra Lineal. Editorial Limusa. Mxico, 1986. Computadora con el programa MATLAB instalado

3.- ACTIVIDADES

3.1. INTRODUCCIN: QU ES MATLAB Y CMO SE TRABAJA EN L

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemtico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programacin propio (lenguaje M). Est disponible para las plataformas Unix, Windows, y Apple Mac OS X. Entre sus prestaciones bsicas se hallan: realizacin de operaciones de clculo simblico y numrico, la manipulacin de matrices, la representacin de datos y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario (GUI) y la comunicacin con programas en otros lenguajes, as como con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones que son: Simulink (plataforma de simulacin multidominio) y GUIDE (editor de interfaces de usuario - GUI). Adems, las capacidades de MATLAB estn en constante expansin con las cajas de herramientas (toolboxes) y con las de Simulink, con los paquetes de bloques (blocksets). Este es un software muy usado en universidades y centros de investigacin y desarrollo, de todo el mundo. Al arrancar el programa MATLAB se abre, por defecto, una ventana similar a la que se tiene a continuacin (ver Fig. 1), siempre manipulable a gusto del usuario con la ayuda del ratn, en ella se pueden distinguir varias partes (o subventanas) sobre las que se puede actuar con las mismas facilidades que en cualquier otro programa que funcione bajo Windows, utilizando el ratn y sus propiedades.

Fig. 1.1.- Ventana de inicio de MATLAB R2009b

En la parte superior de la pantalla aparece un men, con contenidos desplegables: File, Edit, Debug, Desktop, Window, Help , que variar segn estemos situados en una ventana u otra, al que se puede acceder con el ratn y conviene explorar sus posibilidades con detalle. Debajo de l una, dos, tres, o ms, subventanas segn las que se desee tener activas: Current Folder, Command Window, Workspace, Command History, . Las ventanas bsicas por defecto, son las que se muestran en la figura, lo ms habitual es tener abiertas al menos la ventana Current Folder (Carpetas en uso) donde tendremos a la vista el directorio de trabajo, que contendr los ficheros con los que se est trabajando; la ventana: Command History (Historial de los Comandos utilizados) en la que aparecer reproducido todo lo que vamos realizando/ejecutando y una tercer ventana, que en este caso, es la que est situada en el centro y est diseada por defecto, de mayor tamao que el resto, que es la denominada Command Windows(Ventana de Comandos). Este ser el espacio donde iremos trabajando en MATLAB, ser la que estar siempre activa (abierta o minimizada). Por tanto, todas las ventanas citadas se pueden tener cerradas, abiertas o minimizadas, salvo la VENTANA DE COMANDOS (Command Windows) que es por defecto, la obligada a tener activa cuando se opera en MATLAB.

NOTA: Para recuperar la estructura bsica, de las ventanas descritas, si es que alguna ventana se cerrase involuntariamente, se debe seleccionar en el men principal Desktop/Desktop Layout/Default, para recomponer la estructura por defecto. Si observamos la Command Windows= VENTANA DE COMANDOS, una vez que el programa se ha puesto en marcha, podremos observar, ya en nuestro ordenador que aparece en ella el pront o smbolo habitual de los dos ngulos: >> . Desde ese instante, ya se puede trabajar con el programa MATLAB. Es necesario resaltar que en todo momento el programa, diferencia entre lo que se le escriba con maysculas o con minsculas, es decir MATLAB is case sensitive, es decir A y a, para MATLAB no son la misma variable o constante. Toda nuestra sesin de trabajo, permanece activa y recuperable en MATLAB hasta que el programa se cierre. Durante la sesin de trabajo, se pueden hacer borrados totales o parciales, o se puede guardar informacin para sesiones futuras. 3.2.- CONCEPTOS BSICOS: UTILIZACION DE LA ARITMTICA ELEMENTAL, LAS CONSTANTES, LAS VARIABLES, SU MANEJO Y FORMATOS. La forma de operar en MATLAB es muy similar a la de cualquier otro programa de clculo simblico, o incluso a lo que ofrecen algunas calculadoras de bolsillo inicialmente, se le introducen los datos y se obtiene un resultado por lo que es conveniente repasar operativa bsica, para ir familiarizndose con el entorno. Situado el cursor, en la VENTANA DE COMANDOS, la que tiene el pront >> se puede empezar a trabajar con MATLAB muy fcilmente. Los mensajes de ERROR nos saldrn siempre en la Ventana de comandos y SALDRN en rojo. Nuestros comentarios, irn precedidos siempre por el smbolo % (tanto por ciento) y como tales sern ignorados por el programa, slo sern recordatorios para el usuario, saldrn siempre en color verde. (Los colores comentados, son los que tiene por defecto el programa, se pueden cambiar a gusto del usuario). As ante la introduccin de la operacin 2, tendremos: CORRECTO INCORRECTO >> 2*pi % se desea calcular 2 por pi >> 2pi % se desea calcular 2 por pi ??? 2pi % se desea calcular 2 por pi ans = | Error: Unexpected MATLAB expression. 6.2832 3.3. INTERFAZ DE USUARIO. OPERACIONES Y OPERADORES BSICOS Antes de nada comentar, que el usuario, utilizando las flechas de la derecha del teclado, hacia arriba y hacia abajo, se podrn recuperar las rdenes anteriores escritas sin tener que volver a escribirlas. Esto resulta til cuando hay una equivocacin o se quiere escribir algo de nuevo o con alguna pequea modificacin. Otras veces, puede resultar necesario, hasta imprescindible que un resultado no aparezca por pantalla. Por ejemplo si generamos muchos datos o matrices de grandes dimensiones, con objeto de utilizarlo despus. Para conseguir esto se pone un punto y coma detrs de la instruccin. Por ejemplo si queremos que no nos d el resultado 2*pi, anterior, pondremos detrs de dicha orden un punto y coma: >> x=2*pi; Su resultado no aparecer en pantalla como antes, pero el programa ha realizado el clculo, y lo podemos comprobar si tecleamos el valor x, as: >> x x=

6.2832 Salvo que se haga algo que de error, en cuyo caso, a pesar del punto y coma, el programa nos lo indicar:

>> 2pi; ??? 2pi; | Error: Unexpected MATLAB expression. Los comandos se pueden ir escribiendo y ejecutando uno a uno, es decir, rengln a rengln, y tambin se pueden escribir uno detrs de otro en una misma lnea, en cuyo caso habrn de ir separados por comas, o por puntos y comas, para aquellos cuyo resultado no se desea que salga por pantalla. Y una cosa ms, si el rengln se nos hace demasiado largo, se puede continuar escribiendo en el siguiente poniendo tres puntos suspensivos donde se quiera cortar. Por ejemplo >> x= sin(pi), y = cos(2*pi), z=tan(pi/3) x= 1.2246e-016 y= z= 1.7321 Repasemos ahora las operaciones y constantes ms habituales y su nomenclatura. Es de sealar que cuando sea necesario agrupar trminos o especificar determinado orden de operacin, esto se har siempre utilizando parntesis, y se emplearn tantos parntesis como sean necesarios para que las rdenes estn claras, nunca se utilizarn corchetes, estos estn reservados para manejar vectores y matrices. Comentarios. Si se inicia una linea con el smbolo %, MATLAB interpretar esto como una lnea de comentario. El signo igual = se reserva para la ASIGNACIN EN VARIABLES y el doble igual = = para comprobar la veracidad de identidades. Smbolo Significado + SUMA RESTA * PRODUCTO / COCIENTE Sin ms demora, se puede empezar a introducir en MATLAB operaciones bsicas para ver la sencillez de su manejo. Escribamos, a la vez que leemos este texto en la VENTANA DE COMANDOS, al lado del pront caracterstico de MATLAB >> la suma de 6 ms 3: 6+ 3 . El resultado se obtiene de forma inmediata nada mas pulsar enter y viene siempre precedida por ans = (iniciales de respuesta en ingls, answer), esta variable ans contendr en ella, la ltima respuesta que no se haya identificado de otra forma. As: >> 6 + 3 % Pulsemos la tecla enter ans = 9 Para el producto el asterisco * es obligatorio siempre entre todos y cada uno de los elementos que se multipliquen. Hgase 6 x 3, se comprueba que: >> 6*3 % Pulsemos la tecla enter ans = 18 Para el cociente, se usar la barra de divisin habitual a la derecha. Hgase 6 / 3, se comprueba que: 1

>> 6/3 ans

% Pulsemos la tecla enter

2 Recordemos que si alguna operacin se omite, o el programa no entiende lo que se le pide, enviar un mensaje de ERROR, de color rojo. As, si lo que deseamos es escribir 2 y lo introducimos sin un asterisco * que indique producto entre el 2 y la pi, nos aparecer el mensaje de error. >> 2pi ??? 2pi | Error: Unexpected MATLAB expression Smbolo ^ sqrt( ) ( . ) = Smbolo y Significado igual == no igual ~ = menor que < mayor que > menor o igual que < = mayor o igual que > = 0 FALSO vs 1 VERDADERO & (y) (o) ~ (no) Significado POTENCIA (cualesquiera) RAIZ CUADRADA ORDEN DE OPERACIN Asignacin de valor Tipo

Operadore s Relacional es

Operadores Lgicos

Repasemos el uso de algunos de ellos. Si se quieren calcular potencias y races de cualquier ndice, por emplo: 4, 3 9 se escribir: >> sqrt(4) ans = 2 Este ltimo resultado es calculable tambin como potencia , es decir: >> 4^(1/2) ans = 2 >> 9^(1/3) ans = 2.0801 Como puede suponerse, es posible realizar cualquier otra operacin que combine las operaciones conocidas: >> (5*8+23)/ 4 ans = 15.7500

NOTA: Obsrvese que la solucin decimal viene con punto para separacin de los enteros de los decimales. De esa forma se han de introducir los decimales. Si no se pone el punto decimal, el programa entender otra orden diferente, que no es un nmero decimal, como veremos a continuacin. La operacin de multiplicar 2* 3,5 se introducir del siguiente modo: >> 2 * 3.5 ans = 7 Pero si en vez de acabar la lnea u operacin con una coma (o sin nada), se pone un PUNTO Y COMA el programa no devolver una respuesta ans = por pantalla, en sta y en cualquier otra orden; lo que no significa que no haya realizado la operacin, sino que le hemos ordenado que no muestre el resultado. As, veamos cmo se comporta el programa si se acaban alguna de las operaciones anteriores con punto y coma ; el resultado que aparece por pantalla es solamente el correspondiente a la operacin que no lleve detrs el punto y coma, en este caso, el resultado mostrado es el de (5*8+23)/ 4 que tiene detrs, solamente una coma. Los otros dos resultados no aparecen, por llevar detrs el punto y coma. Comprubese. >> (5*8+23)/ 4 , 3.5 * 2 ; 9^(1/3); % sale slo el primer resultado, faltara el resultado de las dos ltimas operaciones tienen punto y coma detrs ans = 15.7500 Si por el contrario, lo que interesa son resultados en pantalla o se ponen comas o se guardan los mismos perfectamente identificados, asignando (=) dichos valores a nombres a, b, valor, pendiente, etc para poder reutilizarlos posteriormente, asignacin que se hace de derecha a izquierda. Se escribira del siguiente modo: >> a = (5*8+23)/ 4; b = 3.5 * 2; c = 9^(1/3); % se ha guardado cada operacin en a, b y c % y no se muestran por pantalla Pero, evocando a, b, c saldra su valor y lo mismo las dems. Si se escribe alguna constante, variable o funcin que no reconozca el programa emitir de nuevo su correspondiente mensaje de ERROR: >> a ,b,c a= b= c=

15.7500 7 2.0801

Y si se escribe una variable que no est declarada aparecer un mensaje de error, por ejemplo, si no se tiene d, saldra: >> d ??? Undefined function or variable 'd'. >> Si se desea borrar alguna variable se utiliza el comando clear seguido del nombre de la variable o variables a borrar, o el clear all, para borrar de una sola vez todo el contenido de la memoria. Si slo se desea borrar (limpiar) el contenido de la pantalla de la ventana de comandos (Command Windows) se utilizar clc. Prubense. >> clear all % limpiamos todo el contenido de la memoria

>> clc % inicializamos limpia la ventana de comandos, pero todo lo que no se haya borrado >> % estar en la memoria >> a=15.75 % introducimos de nuevo un valor para a a= 15.7500 Help. Si teclea help seguido de un comando MATLAB en la ventana de comandos de MATLAB, aparecer una descripcin del comando en la ventana de comandos. 3.4. FORMATOS PARA LOS RESULTADOS NUMRICOS La visualizacin de resultados numricos en MATLAB sigue algunas reglas. Por defecto, un nmero entero se visualiza como entero; un nmero real se visualiza con 4 decimales (4/3 aparece como 1.3333 ). salvo que los dgitos significativos estn fuera de este rango, en cuyo caso se visualiza con notacin cientfica. Pero es posible cambiar el formato de representacin de los nmeros que se tiene por defecto, usando la secuencia Preferences/General/Numerical Format del men File, pero existe otra posibilidad, ms cmoda, que es usar la orden apropiada. NOTA: Debe observarse que el cambio de formato de salida, no cambia la representacin interna, solo afecta a la visualizacin. Los formatos ms habituales (que se pueden tener siempre a mano utilizando la orden help format) son: format long hace que todos los numeros se desplieguen con 16 dgitos. As, si de format long y despus 4/3, en la pantalla aparecer 1.33333333333333. Para regresar al despliegue normal de 4 dgitos despus del punto decimal se da el comando format short. format rat- aproximacin racional 215/6. Las capacidades simblicas de la toolbox de matemtica simblica nos permiten realizar operaciones con un nmero arbitrario de dgitos, sin embargo, a mayor nmero de dgitos, mayor gasto de tiempo y memoria. As: La orden digits(n) cambiar el nmero de dgitos de precisin de salida que se usa por defecto a n en la toolbox correspondiente. La orden digits nos permitir conocer cul es el valor de este nmero. Por ltimo, la orden vpa permite realizar un clculo y mostrar su resultado con una precisin especificada, sin cambiar el nmero de dgitos de precisin con el que se trabaja por defecto. Practiquemos con lo expuesto:
>> format long >> pi ans = 3.14159265358979 >> digits % dice cuantos dgitos de trabajo interno % establecemos formato por defecto, con 16 dgitos

Digits = 32 >> vpa(pi) % evala pi con 32

dgitos, ans = 3.1415926535897931159979634685442 >> vpa(pi,60)

ans = 3.141592653589793115997963468544185161590576171875 >> vpa(pi,30) % establecemos ahora una salida de 30 dgitos ans = 3.14159265358979311599796346854 >> format short >> pi ans = 3.1416 >> digits Digits = 32 % sigue trabajando internamente con 32 dgitos % muestra los que se han ordenado con la orden format short

MATLAB distingue minsculas y mayusculas. Esto quiere decir que a y A representan variables distintas.

MATRICES Y ARREGLOS.
Introduccin de matrices. Los elementos de un rengln se separan por espacios y las columnas se separan por ; 1). Matrices unidimensionales: conjunto de nmeros, ordenados en una sola fila o columna. X=[1,2,10,4] Crea una matriz el fila cuyo resultado es: 1 2 10 4 2). Si desea visualizar un elemento en particular digite X con su subndice entre parntesis X(3) Devuelve el elemento de la matriz, ubicado en la tercera posicin cuyo resultado es: 10 3) X=[1;8;3;4] Crea una matriz en una columna cuyo resultado es: 1 8 3 4 Matlab presenta otra opcin para crear matrices, donde cada par de elementos consecutivos posee una razn constante X=1:0.5:4 Crea una matriz en fila con valor inicial 1 que se va incrementando en 0.5 hasta llegar al valor 4, cuyo resultado es:

1 1.5 2 2.5 3 3.5 4 El nmero de elementos de una matriz pueden incrementarse definiendo elementos adicionales: X(8)=6 Adiciona un elemento a la matriz X en la octava posicin, digitando X en la ventana de comandos nos dar como resultado 1 1.5 2 2.5 3 3.5 4 6 4). matrices bidimensionales: conjunto de nmeros, ordenados en filas y columnas, teniendo para ello ms de una: A=[1,4,5,8;5,0,0,2;0,1,-7,3] Crea una matriz de 3 filas por 4 columnas cuyo resultado es:

1 4 5 8 5 0 0 2 0 1 -7 3

El ; en una matriz se utiliza para separar las filas en un arreglo. Si desea visualizar un elemento particular digite A con subndice entre parntesis A(3,4) Devuelve el elemento de la tercera fila, cuarta columna: 3 A(2,:) devuelve todos los elementos de la segunda fila : 5 0 0 2 A(:,4) devuelve todos los elementos de la cuarta columna: 8 2 3 OPERACIONES CON MATRICES. Suma de matrices. A=[ 1,4;5,2] B=[ 2,1;3,4] C=A+B Nos devuelve como resultado C= 3 5

8 6 Resta de matrices. D=A-B Nos devuelve como resultado D= -1 3 2 -2 Multiplicacin de una matriz por un nmero. D=[3,-2,7;6,5,4;5,4,9] E=-4*D Nos devuelve como resultado E= -12 8 -28

-24 -20 -16 -20 -16 -36 Multiplicacin de matrices A=[2,3,1;1,-1,1;0,2,2] B=[1,2,1;-1,2,-1;2,0,2] C=A*B Nos devuelve como resultado C= 1 10 1 4 0 4 2 4 2 Calcular B*A y mostrar que CLACES DE MATRICES. Transpuesta de una matriz. A=[1,-3,0,-2;3,-12,-2,-6;-2,10,2,5;-1,6,1,3] La transpuesta Y=A nos devuelve como resultado Y= 1 3 -2 -1 A*B B*A

-3 -12 10 6 0 -2 2 1

-2 -6

5 3

Traza de una matriz. D=tr(Y) Devuelve D= -6 Matrices especiales. eye(m): genera una matriz identidad de orden mxm I=eye(3) Devuelve matriz identidad 3x3 1 0 0 0 1 0 0 0 1 zeros(m,n): genera una matriz nula de orden mxn B=zeros(3,2) Devuelve como resultado 0 0 0 0 0 0 ones(m,n): genera una matriz de unos de orden mxm A=ones(2,3) Devuelve como resultado 1 1 1 1 1 1 Si A=[1 2 3;4 5 6;7 8 9] Produce la matriz 1 2 3 A = 4 5 6 7 8 9 B=[3;6;9] Produce la matriz 3 B = 6 9 C=|A B| Forma una matriz aumentada 1 2 3 3 C=4 5 6 6 7 8 9 9 D=rref(A) D forma matriz escalonada reducida por renglones de A

RESOLUCION DE SISTEMAS DE ECUACIONES LINEALES.

METODO DE LA INVERSA.
Consideremos el siguiente sistema de ecuaciones 3x+4y+z+2w=-3 3x+5y+3z+5w=-6 6x+8y+z+5w=-8 3x+5y+3z+7w=-8 A=[3 4 1 2;3 5 3 5;6 8 1 5;3 5 3 7] B=[-3;-6;-8;-8] X=inv(A)*B Nos devuelve como resultado: X= 2 -2 1 -1 Operador slash (\) Se utiliza en los casos donde la matriz desconocida se encuentra en la izquierda o derecha de la matriz de coeficientes, esto se puede pensar en dividir ambos lados de la ecuacin de la matriz AX=B o XA=B. X=B/A denota la solucin para la ecuacin de la matriz XA=B X=A\B ( inversa) denota la solucin para la ecuacin de la matriz AX=B Consideremos el siguiente sistema de ecuaciones 3x+4y+z+2w=-3 3x+5y+3z+5w=-6 6x+8y+z+5w=-8 3x+5y+3z+7w=-8 A=[3 4 1 2;3 5 3 5;6 8 1 5;3 5 3 7] B=[-3;-6;-8;-8] X=A\B Nos devuelve como resultado: X=

2 -2 1

METODO DE REDUCCION A LA FORMA ESCALONADA.


Consideremos el siguiente sistema de ecuaciones 3x+4y+z+2w=-3 3x+5y+3z+5w=-6 6x+8y+z+5w=-8 3x+5y+3z+7w=-8

A=[3 4 1 2 -3;3 5 3 5 -6;6 8 1 5 -8;3 5 3 7 -8] ( matriz aumentada ) X=rref(A) Nos devuelve como resultado: 1 0 0 0 2 0 1 0 0 -2 0 0 1 0 1 0 0 0 1 -1

CALCULO DE DETERMINANTES.
Ingrese la siguiente matriz: A=[3,-1,0,2;-1,-2,3,4;7,4,4,0;1,0,0,5] El determinante de la matriz A B=det(A) Nos devuelve como resultado -401

3.5. ACTIVIDADES
AC1. Dadas las matrices:

1 3 -5 0 3 A = -3 2 2 8 10 4 2 -1 0 2

1 b = 3 8

a). Forme C como la matriz aumentada (A|b) b). Encuentre la forma escalonada reducida por renglones de C usando el comando rref. Use este comando para escribir un sistema equivalente de ecuaciones, y hallar las soluciones del sistema correspondiente.

AC2. Encuentre la forma escalonada reducida por renglones de C usando el comando rref. Use este comando para escribir un sistema equivalente de ecuaciones, y hallar las soluciones del sistema correspondiente.

x1-2x2+x3+x4=2 3x1+2x3-2x4=-8 4x2-x3-x4=1 x1+6x2-2x3=7


AC4.- Utilice el mtodo de Eliminacin Gaussiana para resolver el sistema de ecuaciones

AC8.-Dadas las matrices A, B, C, D encontrar:

a. X=3B*C-D b. Z=2Y-5A donde Y=C*B c.

AC13. Resuelva el sistema de ecuaciones mediante la inversa utilizando el mtodo de la inversa.

x+2yz=3 3x+y+z=4 xy+2z=6


EP4.6.- Usar la matriz inversa para encontrar las solucines de las 3 ecuaciones simultaneas.

AC10. Resuelva el sistema de ecuaciones mediante la inversa utilizando Regla de Cramer.

x+2y-z=-3 3x+y+z=4 x-y+2z=6


EP4.6.- Calcular la determinante

A= |

6. BIBLIOGRAFA RECOMENDADA PARA REALIZAR LA GUA: Howard Anton. Introduccin al lgebra Lineal. Editorial Limusa. Mxico, 1986. Stanley I. Grossman S. Algebra Lineal. Editorial Mc GrawHill. Mexico, 2008. Murray R. Spiegel. (Serie Schaum) Algebra Superior. Editorial Mc GrawHill. Mexico, 1998. Bernal Kolman. Algebra Lineal.