Metoda Celor Mai Mici Patrate:: 'Matricea Sistemului' 'A ' 'Matricea Termenilor Liberi' 'B '
Metoda Celor Mai Mici Patrate:: 'Matricea Sistemului' 'A ' 'Matricea Termenilor Liberi' 'B '
clc;
disp('matricea sistemului')
a=input('A=')
disp('matricea termenilor liberi')
b=input('b=')
A=a;
b=b;
[n,n]=size(A);
B=A'*A;
c=A'*b;
d=det(B);
dm=det([c(1) B(1,2);c(2) B(2,2)]);
dn=det([B(1,1) c(1);B(2,1) c(2)]);
m=dm/d;
n=dn/d;
plot(A(1:5,1),b,'x');hold on;
plot([1;7],[m*1+n;m*7+n],'b');
grid on;
end
x
p
x=B*x+c;
e=A*x-b;
p=p+1;
Metoda Jacobi&Gauss-Seidel
clc;
disp('matricea sistemului')
a=input('A=')
disp('matricea termenilor liberi')
b=input('b=')
A=a;
b=b;
[n,n]=size(A);
%U=diag(diag(A));
U=tril(A);
B=eye(n)-inv(U)*A;
c=inv(U)*b;
ro=norm(eig(B),inf);
x=zeros(n,1);
e=A*x-b;
eps=input('eps=');
p=0;
while norm(e,inf)>eps
x=B*x+c;
e=A*x-b;
p=p+1;
end
x
p
Metoda Householder
clc;
disp('matricea sistemului')
a=input('A=')
disp('matricea termenilor liberi')
b=input('b=')
A=a;
b=b;
[n,n]=size(A);
for i=1:n-1
s=norm(a(i:n,i),2);
beta=1/(s*(s+abs(a(i,i))));
if a(i,i)==0 t=1
else t=sign(a(i,i))
end
u=zeros(n,1);
u(i)=a(i,i)+t*s;
for j=i+1:n
u(j)=a(j,i);
end
H=eye(n)-beta*u*u';
a=H*a;
b=H*b;
end
x=zeros(n,1);
x(n)=b(n)/a(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+a(i,j)*x(j);
end
x(i)=(b(i)-s)/a(i,i);
end
x
clc;
disp('matricea sistemului')
a=input('A=')
disp('matricea termenilor liberi')
b=input('b=')
A=a;
b=b;
c=a;
[n,n]=size(A);
R=zeros(n);
for p=1:n
R(p,p)=sqrt(A(p,p));
for j=p+1:n
R(p,j)=A(p,j)/R(p,p);
end
for i=p+1:n
for j=p+1:n
a(i,j)=A(i,j)-A(p,i)*A(p,j)/A(p,p);
end
end
A=a;
R
end
y=zeros(n,1);
y(1)=b(1)/R(1,1);
for i=2:n
s=0;
for j=1:i-1
s=s+R(j,i)*y(j);
end
y(i)=(b(i)-s)/R(i,i);
end
y
b=y
x=zeros(n,1);
x(n)=b(n)/R(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+R(i,j)*x(j);
end
x(i)=(b(i)-s)/R(i,i);
end
x