You are on page 1of 5

PROBLEMA 1

%Conceptos importantes
clc
disp('Norma infinito')
A=[
3 -24
5
-12
-13 10
-14
1 -4]

max(sum(abs(A'))')
norm(A,inf)
A=[2 4
12 4]
disp('Autovalores de A')
lambda=eig(A)
disp('Radio espectral')
ro=max(abs(eig(A)))
disp('norma cuadrada A')
max(abs(eig(A*A')))^0.5
norm(A,2)
disp('Verificando si A es estrictamente diagonalmente dominante');
n=4;
A=round(rand(n)*20-10)+5*diag(diag(round(rand(n)*20-10)))
fil=sum(abs(A'))-diag(abs(A))'
dia=diag(abs(A))'
if sum(dia>fil)==length(A)
fprintf('Es estrictamente diagonal dominante\n');
else
fprintf('No es estrictamente diagonal dominante\n');
end

PROBLEMA 2
clc
clear
A=[
0.09 3 -0.15
4 0.24 -0.08
0.04 -0.08 4]
b=[8 9 20]'
xx=inv(A)*b
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
%Usando metodo de Jacobi
T=inv(D)*(L+U);
c=inv(D)*b;
format long
x=[0 0 0]';
xa=x
TOL=1e-2;
NMAX=10000;
for i=1:NMAX
x=T*x+c;
er=norm(x-xa,inf);
xa=x
if er<TOL
break
end
end
i
[x xx]
radio_espectral=max(abs(eig(T)))

PROBLEMA GAUSS SEIDEL


function [x,i,ro]=gauss_seidel(A,b,x,TOL,NMAX)
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
T=inv(D-L)*U;
c=inv(D-L)*b;
ro=max(abs(eig(T)));
x=ones(length(b),1);
xa=x;
for i=1:NMAX
x=T*x+c;
er=norm(x-xa,inf);
xa=x;
if er<TOL
break
end
end

PRBLEMA JACOBI
function [x,i,ro]=jacobi(A,b,x,TOL,NMAX)
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
T=inv(D)*(L+U);
c=inv(D)*b;
ro=max(abs(eig(T)));
xa=x;
for i=1:NMAX
x=T*x+c;
er=norm(x-xa,inf);
xa=x;
if er<TOL
break
end
end

PROBLEMA 3
clc
format short
roj=2;rog=2;
while roj>0.9 || rog>0.9
n=4;A=round(rand(n)*100-50);
b=round(rand(n,1)*100-50);
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
if det(D)>0.1
Tj=inv(D)*(L+U);Tg=inv(D-L)*U;
roj=max(abs(eig(Tj)));
rog=max(abs(eig(Tg)));
end
end
A
b'
xx=inv(A)*b;TOL=1e-6;x0=b*0+1;
disp('Jacobi')
[xj,iterj,roj]=jacobi(A,b,x0,TOL,10000);
disp(iterj);disp(roj);disp(xj');
disp('Gauss-Seidel')
[xg,iterg,rog]=gauss_seidel(A,b,x0,TOL,10000);
disp(iterg);disp(rog);disp(xg');
disp('Respuesta correcta')
disp(xx')

You might also like