Extras din notiță
Implicatii in rez. sist. de ec. Liniare
Compatibil det (sist patrate): Ax=b, A R nesing.
isel_a.m
n=size(a);
a1=a;b1=b;
for k=1:n-1
sig=0;
for i=k:n
sig=sig+a(i,k)^2;
end;
sig=sign(a(k,k))*sqrt(sig);
for i=1:n
if i<=k-1 v(i)=0;
elseif i==k v(i)=sig+a(k,k);
else v(i)=a(i,k);
end;
end;
beta=sig*(sig+a(k,k));
q=eye(n)-(v'*v)/beta; a=q*a; b=q*b;
end;
b(n)=b(n)/a(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*b(j);
end;
b(i)=(b(i)-s)/a(i,i);
end;
Ax=b, A R ,m>n si rangA=n (A-monica)
isel_b.m
[m,n]=size(a);
a1=a;
b1=b;
for k=1:n
sig=0;
for i=k:m
sig=sig+a(i,k)^2;
end;
sig=sign(a(k,k))*sqrt(sig);
for i=1:n
if i<=k-1 v(i)=0;
elseif i==k v(i)=sig+a(k,k);
else v(i)=a(i,k);
end;
end;
beta=sig*(sig+a(k,k));
q=eye(m)-(v'*v)/beta;
a=q*a; b=q*b;
end;
b(n)=b(n)/a(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*b(j);
end;
b(i)=(b(i)-s)/a(i,i);
end;
Ax=b, A R , rangA=min(m,n)
isel_d.m
[m,n]=size(a);
a1=a;
b1=b;
p=eye(n);
ind=1; k=1;
for j=1:n
norm(j)=0;
for i=1:m
norm(j)=norm(j)+a(i,j)^2;
end;
end;
while ind==1 & k<=n
l=k;
for j=k+1:n
if norm(l)<norm(j) l=j;
end;
end;
if norm(l)==0
ind=0;
else
if k~=l p1=eye(n); p1(k,k)=0; p1(l,l)=0; p1(k,l)=1; p1(l,k)=1; a=a*p1; p=p*p1;
end;
sig=0;
for i=k:m sig=sig+a(i,k)^2;
end;
si=sign(a(k,k))+sqrt(sig);
for i=1:m if i<=k-1 v(i)=0;
elseif i==k v(i)=sig+a(k,k); else v(i)=a(i,k); end;
end;
beta=sig*(sig+a(k,k));
q=eye(m)-(v'*v)/beta;
a=q*a; b=q*b;
for j=k+1:n norm(j)=0; for i=k+1:m norm(j)=norm(j)+a(i,j)^2; end;
end;
k=k+1;
end;
end;
r=0;
while a(r+1,r+1)~=0
r=r+1;
end;
b(r)=b(r)/a(r,r);
for i=r-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*b(j);
end;
b(i)=(b(i)-s)/a(i,i);
end;
for i=r+1:n
b(i)=0;
end;
b=p*b(1:n);
Preview document
Conținut arhivă zip
- Fituici MNCPD.doc