From: eliseo guerrero on
Hola todos:

como veran soy principiante en matlab y ejecutando el programa que hice me resulve matrices de 2x2 pero a la hora de establecer matrices de 3x3 o mayores me arroja valores como NaN, Inf, -Inf por lo que puedo inferir que tengo el problema en las func. trinf y tris pero no se como solucionarlo. alguna idea o correccion?

Gracias a todos por su ayuda!

programe lo siguiente:

--------------------------------------------la funcion general es:

function [INV]=inversa(M)
INV=zeros(size(M));
Y=zeros(size(M));
B=eye(size(M));
[L,U]=lu(M);
k=size(M);
if det(M)~=0
for i=1:k
Y(:,i)=trinf(L,B(:,i));
INV(:,i)=tris(U,Y(:,i));
end
else
disp('ERROR: Matriz no invertible')
end


-----------------------------------------------------la funcion trinf es:

% Esta funvción calcula la solución del sistema lineal triangular inferior
% L*x =b
%
% Ln
% L.- matriz triangular inferior no singular de orden n.
% b.- vector columna de orden n.
%Out
% x.- vector columna de orden n tal que L*x = b

function [x] =trinf(L,b)

[n] = length(b);

x = zeros(n,1);

x(1) = b(1)/L(1,1);

for k =2:n
x(k) = (b(k) -L(k, 1:k-1)*x(1:k-1))/L(k,k); ;
end


-------------------------------------------------y la funcion tris es:

function x = tris(U,b)

n = length(b);
x = zeros(n,1);

% backward substitution
x(n) = b(n)/U(n,n);
for k = n-1:-1:1
x(k) = ( b(k) -U(k,(k+1):n)*x((k+1):n))/U(k,k);
end
 | 
Pages: 1
Prev: white gaussian noise
Next: Ui table data