Métodos Directos

6
MÉTODOS DIRECTOS: REVISIÓN DEL MÉTODO DE ELIMINACIÓN DE GAUSS Resolver mediante el método de Gauss con sustitución hacia atrás los siguientes SEL: 6 x 1 +3 x 2 +6 x 3=30 …a 1 2 x 1 +3 x 2 +3 x 3=17 …a 2 1 x 1 +2 x 2 +2 x 3=11 …a 3 En notación matricial: [ 6 3 6 2 3 3 1 2 2 ] | X 1 X 2 X 3 | = | 30 17 11 | ….b Dividiendo la ecuación (a.1) por 6, se obtiene, x 1 + 1 2 x 2+x 3=5 …c 1 2 x 1 +3 x 2 +3 x 3=17 …c 2 1 x 1 +2 x 2 +2 x 3=11 …c 3 Ahora sustituimos x1 hallada en la ecuación (c.1) en las ecuaciones (c.2) y (c.3), se obtiene, x 1 + 1 2 x 2+x 3=5 …d 1 2 x 2 +x 3=7 …d 2 3 2 x 2+x 3=6 …d 3 Dividiendo la ecuación (d.2) por 2 x 1 + 1 2 x 2+x 3=5 …e 1

description

metodos directos

Transcript of Métodos Directos

MTODOS DIRECTOS: REVISIN DEL MTODO DE ELIMINACIN DE GAUSSResolver mediante el mtodo de Gauss con sustitucin hacia atrs los siguientes SEL:

En notacin matricial: .b

Dividiendo la ecuacin (a.1) por 6, se obtiene,

Ahora sustituimos x1 hallada en la ecuacin (c.1) en las ecuaciones (c.2) y (c.3), se obtiene,

Dividiendo la ecuacin (d.2) por 2

Sustituimos x2 hallada en la ecuacin (e.2) en la ecuacin (e.3) y se obtiene

Ahora encontramos el valor de x3 de la ecuacin (f.3), el valor de x2 de la ecuacin (f.2) y el valor de x1 de la ecuacin (f.1). Este procedimiento se denomina sustitucin hacia atrs y resulta

function gauss(A,b) clear all,clc % Solves A*x = b by Gauss elimination and finds det(A) % USAGE: [x, det] = gauss(A,b) A=input('Introduzca la matriz A ='); b=input('Introduzca la matriz b ='); if size(b,2) >1;b = b';end % b column vector n = length(b); for k=1:n-1 % Elimination for i=k+1:n if A(i,k) ~= 0 lambda = A(i,k)/A(k,k); A(i,k+1:n) = A(i,k+1:n) - lambda*A(k,k+1:n); b(i) = b(i) - lambda*b(k);end end end if nargout == 2; det = prod(diag(A));end for k =n:-1:1 % Back substitution b(k) = (b(k)-A(k,k+1:n)*b(k+1:n))/A(k,k);end x = b; disp(' ************************************') fprintf('SOLUCIN DEL SISTEMA DE ECUACIONES \n\n x1=%i x2=%i x3=%i\n',x) disp('*************************************')

La salida del programa es: Introduzca la matriz A = [[6 3 6; 2 3 3; 1 2 2];Introduzca la matriz b = [30 17 11]'; ************************************ SOLUCIN DEL SISTEMA DE ECUACIONES x1=1 x2=2 x3=3 *************************************MTODO DE GAUSS CON BSQUEDA DE PIVOTEEvaluar la siguiente matriz.0.0003x1 + 1.566x2 = 1.5690.3454x1 2.436x2 = 1.018function [x]=Gauss(A,b)% Solucin de Ax=b mediante eliminacin de GaussA=[0.0003 1.566; 0.3454 2.436] b=[1.569 ;1.018]n=size(A,1); x=zeros(n,1);for i=1:n-1 % Transformacin matriz A en n-1 etapas[p maxk]=max(abs(A(i:n,i)));maxk=maxk+i-1;if i~=maxkA([i maxk],:)=A([maxk i],:);b([i maxk]) =b([maxk i]);endj=i+1:n;A(j,i)=A(j,i)/A(i,i);A(j,j)=A(j,j)-A(j,i)*A(i,j);b(j)=b(j)-b(i)*A(j,i);endfor i=n:-1:1 % Sustitucin inversax(i)=(b(i)-A(i,i+1:n)*x(i+1:n))/A(i,i);endend

A =

0.0003 1.5660 0.3454 2.4360

b =

1.5690 1.0180

ans =

-4.1245 1.0027