Sei sulla pagina 1di 3

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE INGENIERA ESCUELA DE INGENIERA ELCTRICA DEPARTAMENTO DE ELECTRNICA, COMPUTACIN Y CONTROL CALCULO NUMERICO Profesores:

Dan El Montoya y Gilberto Noguera TERCERA PRACTICA: SOLUCIN DE SISTEMAS DE ECUACIONES LINEALES POR MTODOS DIRECTOS. OBJETIVOS: Determinar la solucin de un sistema de ecuaciones lineales mediante Gaussiana y sustitucin reversiva usando MATLAB. Calcular las matrices L, U y P de un sistema de ecuaciones lineales. eliminacin

OBSERVACIONES: Los algoritmos propuestos han sido empleando la herramienta MATLAB. implementados por los docentes de la ctedra

ACTIVIDADES: En el ambiente de trabajo MATLAB defina la matriz b= b=[1, 6; 5, 2]

1 5

6 2

de la siguiente manera:

Para definir un vector fila o columna en MATLAB escriba en el ambiente de trabajo: c=[1,2,3,7,8] (vector fila) d=[1;2;3;7;8] (vector columna)

Para transponer una matriz en MATLAB se usa el apstrofe despus de la matriz. Realice el siguiente ejemplo desde el MATLAB para las matrices a,c,d. e=b' e=c' e=d'

La multiplicacin de matrices en MATLAB se expresa con el operador multiplicacin de la siguiente manera: b=[1 2; 4 3; 0 2]; d=[5 2 3; 1 5 6]; g= b*d

Salve en el editor MATLAB el siguiente archivo como E21.m. Este archivo realiza la multiplicacin de dos matrices. Ejectelo en MATLAB. clear b=[1 2; 4 3; 0 2]; d=[5 2 3; 1 5 6]; for i=1:3 for j=1:3 g(i,j)=0; for k=1:2 g(i,j)=b(i,k)*d(k,j)+g(i,j); end end end g

Defina la siguiente matriz "b" e invirtala segn la siguiente instruccin: b=[1 2 1; 4 3 1; 0 2 1]; d=eye(3)/b Mediante la instruccin anterior se est calculando la matriz "d" tal que multiplicada por "b" de la matriz identidad. Repita el ejercicio usando la instruccin inv:

d=inv(b) Escriba en el ambiente de trabajo del MATLAB lo siguiente: d=[1,1,1;3,2,4;4,5,6] c=d(1,:) En la instruccin anterior se est definiendo un vector fila "c" a partir de la primera fila de la matriz "d". En la siguiente instruccin se define un vector columna "c" a partir de la primera columna de la matriz "d". c=d(:,1) Escriba en el ambiente de trabajo del MATLAB lo siguiente: e=[3,-5,4] max(e) max(abs(e)) max(d(3,:)) La instruccin "max" arroja como resultado el elemento del vector cuyo valor es mximo. Copie el siguiente archivo en el editor del MATLAB (copie y pegue) y slvelo con el nombre ElimGauss01.m. clear all clc fprintf('Resolucin del sistema Ax = b por \n'); fprintf('Eliminacin Gaussiana con sustitucin hacia atrs \n\n') n=input('Ingrese el orden del sistema = '); fprintf('\n'); fprintf('Matriz coeficientes del sistema \n\n') for i=1:n for j=1:n fprintf('coeficiente A(%d,%d) = ', i,j ) c(i,j)=input(' '); end end fprintf('\nVector trminos independientes \n\n') for i=1:n fprintf('trmino b(%d) = ', i ) c(i,n+1)=input(' '); end for i=1:n-1 for j=i+1:n L=c(j,i)/c(i,i); c(j,:)=c(j,:)-L*c(i,:); end end x(n)=c(n,n+1)/c(n,n); for i=n-1:-1:1 Suma=0; for j=i+1:n Suma=Suma+c(i,j)*x(j); end x(i)=(c(i,n+1)-Suma)/c(i,i); end fprintf('\nSolucin \n\n') for i=1:n fprintf('x(%d) = %d \n',i,x(i)); end

% %

Definicin de la matriz coeficientes del sistema

% Definicin del vector de % trminos independientes

% Clculo de los coeficientes L % Eliminacin

% Clculo de la ltima incgnita

% Clculo del resto de las incgnitas

% Presentacin de resultados

El programa anterior calcula la solucin de un sistema de ecuaciones lineales por eliminacin Gaussiana sin permutacin. Corra el archivo desde el ambiente de trabajo del MATLAB para el sistema:

3 2 1

1 1 1

2 x1 3 1 x 2 = 3 1 x 3 4

Modifique el archivo anterior para que arroje las matrices L y U (sin permutacin) a partir de una matriz cuadrada A. Gurdelo con el nombre LU01.m y ejectelo con la matriz coeficientes del sistema anterior. Para resolver el sistema de ecuaciones lineales del ejemplo anterior ejecute en Matlab las siguientes instrucciones: A=[3 -1 2;2 1 -1;1 1 1]; b=[-3 -3 -4]'; x=A\b; disp(x)

El Matlab calcula la solucin del sistema Ax=b mediante el despeje x=A\b. Se puede presentar el resultado a travs de un vector tipo fila de la siguiente manera: x=b'/A'

El Matlab tambin calcula las matrices "L", "U" y "P" de una matriz cuadrada "A". Ejecute las siguientes instrucciones en Matlab. [L,U,P]=lu(A); disp(L); disp(U); disp(P);

La estrategia de pivotacin que usa el MATLAB es el pivoteo parcial o mximo de columna. Intercambie en la matriz "A" las filas uno y tres y ejecute nuevamente las instrucciones anteriores. Observe la matriz permutacin "P".

Potrebbero piacerti anche