Prev: white gaussian noise
Next: Ui table data
From: eliseo guerrero on 3 May 2010 18:27 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 |