Académique Documents
Professionnel Documents
Culture Documents
if A==A' %Silvester
disp('A es Simetrica')
if det(m1)>0 && det(m2)>0 && det(m3)>0
disp('A es definida positiva')
disp('Cholesky es aplicable')
U=chol(A)
L=U'
AA=L*U
%Resolvemos 2 sistemas triangulares
z=inv(L)*b
x=U\z
else
disp('A no es definida positiva')
disp('Cholesky no es posible ')
end
else
disp('A no es Simetrica')
disp('Cholesky no es posible ')
end
D=diag(A)
D=diag(diag(A))
L=D-tril(A)
U=D-triu(A)
Tg=inv(D-L)*(U)
Tj=inv(D)*(U+L)
%Criterio del radio espectral de Tg o Tj
%Hay convergencia si y solo si el radio espectral
% de la matriz iteracion T, es menor que 1
%Radio espectral = Maxima magnitud del valor propio de T
Espectro=eig(Tj) %Conjunto de valores propios de Tj
rhoj=max(abs(eig(Tj))) % Radio espectral , eig = valor propio
if rhoj<1
disp('Jacobi convergente !!!')
else
disp('Jacobi divergente !!!')
end
rhog=max(abs(eig(Tg)))
if rhog<1
disp('Gauss Seidel convergente !!!')
else
disp('Gauss Seidel divergente !!!')
end
%program07.m
%Factorizacion de Doolitle a partir de eliminacion de Gauss
%Eliminaciion de Gauss simple sin pivoteo
clc
clear all
format rat
A= [1 3 4 8 ;
2 7 11 14;
4 5 12 18;
8 15 29 37]
b= [5 13 29 48]'
Ab= [A b]
m21= Ab(2,1)/ Ab(1,1) %Dato a eliminar / elemento de la
diagonal
Ab(2,:) = Ab(2,:) -m21* Ab(1,:) %F2=F2-m21*F1
%Verificacion
AA=L*U %%AA=A ,Factorizacion correcta
%Solucion de Sistema
%L*U*x=b L*z=b U*x=z
%Resolviendo L*z=b
z=L\b %z=inv(L)*b, sustitucion directa
x=U\z %x=inv(U)*z, sustitucion inversa
end
disp('x y z')
disp(acum)
NumIte=i
% TOL Jacobi Gauss-Seidel
% 1e-3 29 19
% 1e-6 74 43
% 1e-9 121 67
% 1e-12 168 90
% 1e-15 215 114
% 1e-18 234 122
D=diag(A)
D=diag(diag(A))
L=D-tril(A)
U=D-triu(A)
Tg=inv(D-L)*(U)
Cg=inv(D-L)*b
x=zeros(size(b));
acum=[x' NaN]
for i=1:10
xn=Tg*x+Cg;
err=norm(xn-x,inf);
acum=[acum; xn' err];
x=xn;
if err<TOL
break
end
end
disp(acum)
Vect_Soluc_Aprox=xn
Num_Iterac=i
end
disp('x y z')
disp(acum)
NumIte=i
%TOL Jacobi Gauss-Seidel
%1e-3 29
%1e-6 74
%1e-9 121
%1e-12 168
%1e-15 215
%1e-18 234
%Metodo Iterativo de Jacobi Matricial
clc
clear all
format long
A=[4 -1 1 ; -1 4.25 2.75; 1 2.75 3.5] , b=[4 6 7.25]' ,
TOL=1e-15
D=diag(A)
D=diag(diag(A))
L=D-tril(A)
U=D-triu(A)
Tj=inv(D)*(L+U)
Cj=inv(D)*b
x=zeros(size(b));
acum=[x' NaN]
for i=1:1000
xn=Tj*x+Cj;
err=norm(xn-x,inf);
acum=[acum; xn' err];
x=xn;
if err<TOL
break
end
end
disp(acum)
Vect_Soluc_Aprox=xn
Num_Iterac=i
%4>2 (V)
%4.25>3.75 (V)
%3.5>3.75 (F)
%Por tanto A no tiene diagonal estricatemente dominante
%Por lo tanto no se puede afirmar nada de la convergencia
m11=A(1,1)
m22=A(2,2)
m33=A(3,3)
dfn=(subs(f,xi+h)-subs(f,xi))/h;
xn=xi-double(subs(f,xi)/dfn);
err=abs(xn-xi);
acum=[acum; xn err];
xi=xn;
if err<TOL
break %Sale del for
end
end
disp(' x err')
disp(acum)
%Metodo de Newton-Raphson
clc
clear all
syms x
TOL = 1e-14
f=x^3-x-10
xi=2.5 %Valor cernacno a la raiz
df=diff(f,x)
acum=[xi NaN]
for i=1:10
xn=xi-double(subs(f,xi)/subs(df,xi))
err=abs(xn-xi);
acum=[acum; xn err];
xi=xn;
if err<TOL
break %Sale del for
end
end
disp(' x err')
disp(acum)
if er<TOL
disp('Hay convergencia')
else
disp('Hay divergencia')
end
%Vectores propios
[P,D]=eig(A) %P es una matriz cuadrada contiene vectores
propíos en cada columna
%D contiene a todos los valores propios
L1=D(1,1)
X1=P(:,1) %Columna 1 contiene un vector propio
N=norm(X1,2)
%Separe los otros 2 valores y vectores propios
%A*X=L*x
e1=A*X1
e2=L1*X1 %e1=e2
%CAMBIO DE NORMA A INFINITA
NX1=X1/norm(X1,inf)
e3=A*NX1
e4=L1*NX1 %e3=e4