Ambrosio Huanay Brayan Hector I.Q.A.
Ambrosio Huanay Brayan Hector I.Q.A.
Ambrosio Huanay Brayan Hector I.Q.A.
Algoritmo Matlab
clc,clear
disp(' 2.81 ')
disp('------------------------------')
format long
A=[10 7 8 7; 7 5 6 5; 8 8 10 9; 7 5 9 10];
b=[32 23 33 31];
B=[A b'];G=4;I=2;
for l=1:G-1;
I=l+1;
while I<=G
B(I,l:G+1)=B(I,l:G+1)-(B(I,l)/B(l,l))*B(l,l:G+1);
I=I+1;
end
end
b=B(1:G,G+1);x(G)=b(G)/B(G,G);I=G-1;
while I>=1
x(I)=b(I);
J=1+I;
while J<=G
x(I)=x(I)-B(I,J)*x(J);
J=J+1;
end
x(I)=x(I)/B(I,I);
I=I-1;
end
for l=1:length(x);
fprintf(' El valor x%d es: %f \n',l,x(1,l))
end
2.81
------------------------------
El valor x1 es: 1.606061
El valor x2 es: -0.030303
El valor x3 es: 1.303030
El valor x4 es: 0.818182
0.3%
------------------------------
0.03%
------------------------------
A (1,1): 2
A (1,2): 1
A (1,3): 1
A (1,4): -1
A (2,1): 1
A (2,2): 9
A (2,3): 8
A (2,4): 4
A (3,1): 1
A (3,2): 3
A (3,3): 5
A (3,4): 2
A (4,1): 0
A (4,2): 1
A (4,3): 0
A (4,4): 1
A (1,5): -3
A (2,5): 15
A (3,5): 10
A (4,5): 2
A=
2 1 1 -1 -3
1 9 8 4 15
1 3 5 2 10
0 1 0 1 2
A=
0 0 0 0.923076923076923 2.615384615384615
Resultado:
----------
Algoritmo Matlab
clc,clear
n=input('Ingrese el número de ecuaciones: ')
disp('Ingrese los coeficientes de las ecuaciones: ')
for i=1:n
for j=1:n
fprintf('A (%d,%d): ',i,j)
A(i,j)=input('');
end
end
disp('Ingrese los términos independientes de las ecuaciones: ')
for k=1:n
fprintf('A (%d,%d): ',k,n+1)
A(k,n+1)=input('');
end
disp('La matriz ampliada que se formó es la siguiente: ')
A=A
n=
A=
0.830000000000000 0 0 0.580000000000000
0 0.610000000000000 0 0.210000000000000
0.240000000000000 0.550000000000000 0 0
A=
0.830000000000000 0 0 0.580000000000000
0 0.610000000000000 0 0.210000000000000
0 0 0 -0.357055105668576
Resultado:
----------
X1 = 0.698795 X2 = 0.344262 X3 = -Inf >>
Algoritmo Matlab
clear
clc
n = input('Número de ecuaciones (n): ');
A = input('La matriz A: ');
b = input('El vector b: ');
m = input('Total de iteraciones: ');
E = input('Error permitido: ');
X0 = zeros(1,n);
X = X0;
K = 0;
Norma = 1;
MÉTODO JACOBY
function jacobimetodo(A,b,x,tol,m)
n=length(x);
for k=1:m
w=x;
for i=1:n
s=A(i,1:i-1)*w(1:i-1)+A(i,i+1:n)*w(i+1:n);
x(i)=(b(i)-s)/A(i,i);
end
if norm(w-x,inf)<tol
return
end
fprintf('\n la solucion del sistema en la
iteracion %4.0f\n',k)
for i=1:n
fprintf(' x(%1.0f)=%6.8f\n',i,x(i))
end
end
MÉTODO Cholesky
%FACTORIZACION lU CHOLESKY
[n,m]=size(A);
C=[A,b];
% la matriz C, representa la forma de la matriz aumentada [Ab]
disp(C)
if n==m
for k=1:n
%La instrucción iterativa for permite repetir estamentos a un
%numero específico de veces
suma1=0;
for p=1:k-1
suma1=suma1+L(k,p)*u(p,k);
end
L(k,k)=sqrt(A(k,k)-suma1);
u(k,k)=L(k,k); %princio del metodo
for i=k+1:n
suma2=0;
for q=1:k-1
suma2=suma2+L(i,q)*u(q,k);
end
L(i,k)=(A(i,k)-suma2)/L(k,k); %obtencion de la matriz L
end
for j=k+1:n
suma3=0;
for r=1:k-1
suma3=suma3+L(k,r)*u(r,j);
end
u(k,j)=(A(k,j)-suma3)/L(k,k); %obtencion de la matriz U
end
end
producto=det(L)*det(u) %calculo del determinante
if producto~=0
for i=1:n
suma=0;
for p=1:i-1
suma=suma+L(i,p)*z(p);
end
z(i)=(b(i)-suma)/L(i,i); %obtencion del vector Z
end
for i=n:-1:1
suma=0;
for p=i+1:n
suma = suma+u(i,p)*x(p);
end
x(i)=(z(i)-suma)/u(i,i); % solcion, calculos de las variables
end
else
fprintf('\nEl determinante es igual a cero, por lo tanto el
sistema tiene infinita o ninguna solucion\n')
end
end
fprintf('\n Matriz Ab:\n')
disp(C)
fprintf('\n Matriz L:\n')
disp(L)
fprintf('\n Matriz U:\n')
disp(u)
fprintf('\n El vector Z:\n')
disp(z)