Aیک ماتریس 100*100 و B,X ماتریسهای 1*100 هستندو A*X=B حالا میخوام با روش ژاکوبی ماتریس X رو بدست بیارم اگه کسی می تونه برنامشو بنویسه ممنون میشم اینکارو بکنه
اطلاعیه
Collapse
No announcement yet.
نوشتن یک برنامه در MATLAB
Collapse
X
-
پاسخ : نوشتن یک برنامه در MATLAB
A=input('A:'
b=input('b:'
n = size(A,1);
h=zeros(n,n); g=zeros(n,n); p=zeros(n,n); B=A;c=b;
b=A'*b;
A=A'*A;
h(1,1)=(A(1,1))^(1/2);
y=ones(n,1);
x=ones(n,1);
for i = 1:n
s=0;
for j = 1:i-1
for k = 1:j-1
s=s+h(i,k)*h(j,k);
end
h(i,j)=(A(i,j)-s)/h(j,j);
end
s=0;
for k = 1:i-1
s=s+h(i,k)^2;
end
h(i,i)=(A(i,i)-s)^(1/2);
end
g=h';
for i = 1:n
b(i)=b(i)/h(i,i);
h(i,=h(i,
/h(i,i);
end
y(1)=b(1);
for i = 2:n
y(i)=b(i)-h(i,1:i-1)*y(1:i-1);
end
for i = 1:n
y(i)=y(i)/g(i,i);
g(i,=g(i,
/g(i,i);
end
x(n)=y(n);
for i = n-1:-1:1
x(i)=y(i)-g(i,i+1:n)*x(i+1:n);
end
disp('error vector' B*x-c
دیدگاه