HOLA
Amigo tengo un problema con un algoritmo en matlab, el cual es el de eliminacion gausiana con pivoteto tatol.
lo q pasa es q yo tengo el de eliminacion gaussiana con pivoteo total y necesito convertirlo en pivoteo total, pero no se como hacerlo, porq necesito q cuando me haga el cambio de columnas me guarde ese cambio.
le agradesco su colaboracion.
Amigos aqui les coloco el algoritmo q estoy trabajando y necesito modificar.
%%Metodo De Eliminación Gaussiana con pivoteo psarcial escalado
%%para resolver el sistema Ax=b
%%Dada una matriz A nxn+1, el número de incognitas
%% La salida es el vector solución X
function [X]=EGPPE(A,n)
for i=1:n,
s(i)=-1;
for j=1:n,
if abs(A(i,j))>s(i)
s(i)=abs(A(i,j));
end
end
if s(i)==0
disp('No existe solución única');
return
end
nrow(i)=i;
end
for i=1:n-1,
max=abs(A(nrow(i),i))/s(nrow(i));
for j=i:n,
if abs(A(nrow(j),i))/s(nrow(j))>=max
max=abs(A(nrow(j),i))/s(nrow(j));
p=j;
end
end
if A(nrow(p),i)==0
disp('No existe solución única');
return
end
if nrow(i) ~= nrow(p)
ncopy=nrow(i);
nrow(i)=nrow(p);
nrow(p)=ncopy;
end
for j=i+1:n,
m(nrow(j),i)=A(nrow(j),i)/A(nrow(i),i);
for k=1:n+1,
A(nrow(j),k)=(A(nrow(j),k)-m(nrow(j),i)*A(nrow(i),k));
end
end
end
if A(nrow(n),n)==0
disp('No existe solución única');
return
end
X(n)=A(nrow(n),n+1)/A(nrow(n),n);
for i=n-1:-1:1,
sum=0;
for j=i+1:n,
sum=sum+A(nrow(i),j)*X(j);
end
X(i)=(A(nrow(i),n+1)-sum)/A(nrow(i),i);
end
gracias por su ayuda