Analisi Numerico 5
Analisi Numerico 5
Analisi Numerico 5
CODIGO : 161100
CUSCO – PERÚ
2017
SUSTITICION REGRESIVA
function X= sustitucionregresiva(A,B)
%determina la solucion de un sistema triangular superior
%datos:
%A:es una matriz triangular superior n*n (coeficientes)
%B: es un vector n*1 (terminos independientes)
n=length(B);
X=zeros(n,1);
X(n)=B(n)/A(n,n);
for k= n-1:-1:1
X(k)=(B(k)-A(k,k+1:n)*X(k+1:n))/A(k,k);
end
%ejemplo:
%resultados
X:solucion del sistema lineal AX=B
X=sustitucionregresiva(A,B)
A=[1 2 3;0 -4 2; 0 0 2]
B=[6;-2;2]
ELIMINACION GAUSS
function X=eliminaciongauss(A,B)
% determina la solucion de un sistema lineal por la eliminacion de
gauss
[n n]=size(A);
C = zeros(1,n+1);
%determinar la matriz ampliada
Z = [A B];
%construir la matriz triangular superior
for k = 1:n-1
%pivote parcial en la columna k
[maximo,m] =max(abs(Z(k:n,k)));
%intercambiar las filas, intercambiar(k,k+m-1)
if(k ~= (k+m-1))
C= Z(k,:);
Z(k,:) = Z(k+m-1,:);
Z(k+m-1,:) = C;
end
if Z(k,k) == 0
disp('A es singular...');
return
end
%eliminacion de la columna k
for i = k+1:n
m = Z(i,k)/Z(k,k);
if (m ~= 0)
Z(i,k:n+1)= Z(i,k:n+1)- m*Z(k,k:n+1);
end
end
end
%ejemplo
A=[61 0 -20 ;0 23 -9; -20 -24 64]
B=[-21; 34; 12]
X=eliminaciongauss(A,B)
METODO JACOBI
function x=Jacobi(A,B,x)
n=length(x);
t=x;
for i = 1:n
s= A(i,1:i-1)*t(1:i-1)+A(i,i+1:n)*t(i+1:n);
x(i)=(B(i)-s)/A(i,i);
end
A=[5 -3 1; 2, 4,-1;2 ,-3,8];
B=[5, 6 ,4]'; B=[5;6;4];
x=[1, 1, 1]'; x=[1;1;1];
x=Jacobi(A, B, x)
METODO JACOBI 2
function [x,k]=Jacobi2(A,B,x,e,m)
n=length(x);
for k=1:m
t=x;
for i = 1:n
s= A(i,1:i-1)*t(1:i-1)+A(i,i+1:n)*t(i+1:n);
x(i)=(B(i)-s)/A(i,i);
end
if norm((x-t),inf)<e
return
end
end
x=[];
k=m;
FORMA ALGEBRAICA
function [z,x,numite]=jacobi4(A,B,TOL,MAXITE)
D=diag(diag(A));
L=D-tril(A);
U=D-triu(A);
Tj=inv(D)*(L+U);
x=zeros(size(B)); % vector inicial
Cj=inv(D)*B;
z=[];
for i=1:MAXITE
xn=Tj*x+Cj;
err=norm(xn-x,2);
z=[z;xn' err];
x=xn;
if err<TOL
break
end
end
numite=i;