matlab-雅克比迭代法

Posted 邢逸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab-雅克比迭代法相关的知识,希望对你有一定的参考价值。

%算法 p188
%例题 p209
clc;
clear;
A=[1 0.4 0.4
0.4 1 0.8
0.4 0.8 1];
b=[ 1
2
3];
%迭代四次
height=size(A,1);
D=diag(diag(A));
L=tril(A,-1);%得到L
U=triu(A,1);%得到U
% x=[1 ;1 ;1]%初始向量x
x=ones(height,1);
k=0;
for i=1:1:length(A)
for j=1:1:length(A)
sum=0;
if j~=i
sum=sum+A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
k=k+1;

end
% %迭代4次
% %迭代矩阵B
% B=inv(D)*(L+U)
% f=inv(D)*b
% x(1)=B*x(1)+f
% x(2)=B*x(2)+f
% x(3)=B*x(3)+f
end
x1=A\b
x


%上面的三行代码等于下面注释掉的多行代码
% d=diag(A)
% D=zeros(height,height);
% for i=1:1:height
% D(i,i)=d(i)
% end
% L=zeros(height,height);
% U=zeros(height,height);
% for i=1:1:height
% for j=1:1:height
% if i<j
% L(i,j)=A(i,j)
% else if i>j
% U(i,j)=A(i,j)
% end
% end
% end
% end
%A=D+L+U
%k表示迭代次数

以上是关于matlab-雅克比迭代法的主要内容,如果未能解决你的问题,请参考以下文章

强化学习 马尔科夫决策过程(价值迭代策略迭代雅克比迭代)

matlab怎么画迭代过程图?

matlab牛顿迭代法急!!(100分悬赏)

急!!如何用matlab语言编写一个用牛顿迭代法求解经过有限差分法处理过的非线性方程组

并发与迭代

高斯-牛顿迭代