Está en la página 1de 1

function [x,a]=slin(a,b)

[n,m]=size(a);
z=max(max(a));
v=[n+1:m];
a(1:n,m+1)=b;
if n>m
x=[ ];
a=[ ];
return;
end
a=a/z;
for e=1:n
[z,p]=max(abs(a(e:n,e)));
p=p+e-1;
t=a(e,e:m+1);
a(e,e:m+1)=a(p,e:m+1);
a(p,e:m+1)=t;
if abs(a(e,e))<1.0e-10
v=[v, e];
else
a(e,e:m+1)=a(e,e:m+1)/a(e,e);
for i=1:n
if i~=e
a(i,e:m+1)=a(i,e:m+1)-a(i,e)*a(e,e:m+1);
end
end
end
end
x=[ ];
if length(v)==0;
x=a(1:n,m+1);
a(:,m+1)=[ ];
return;
end

También podría gustarte