# Fituici MNCPD

(9/10 din 1 vot)

Aceasta fituica rezuma Fituici MNCPD.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 28 de pagini .

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, o poti descarca.

Domeniu: Calculatoare

## Extras din document

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);

## Fisiere in arhiva (1):

• Fituici MNCPD.doc