首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

matlab 雅可比(Jacobi)迭代法 的问题 求解释

发布网友 发布时间:2022-04-24 03:55

我来回答

1个回答

热心网友 时间:2022-05-03 09:14

function x=j(e)
% 运用Jacobi迭代求解H(n)x=b,其中H(n)为n阶Hibert矩阵,b=h(n)*x,其中x=(1,...,1)'
% n表示n阶Hibret矩阵,e表示要求的误差
% 计算结果中,x表示方程组的解,m表示所用迭代的步数
h=[4 -1 1;4 -8 1;-2 1 5];%系数矩阵
x0=ones(3,1);%赋1
x=zeros(3,1);%赋0
y=x;%赋0
b=[7;-21;15];%列矢量
s=norm(x-x0,inf);%计算初始误差
while s>=e %while循环开始
for i=1:3 %for循环开始
y(i)=(b(i)-h(i,:)*x+h(i,i)*x(i))/h(i,i);
end %for循环结束
s=norm(x-y,inf);%计算结束时的误差
x=y;%得出结果x
end % s<e,while循环结束追问前面的赋1 赋0是赋什么的能说一下吗 还有原理可以说一下吗。。。。。谢谢啦

追答赋1就是把矩阵或数组的所有元素置1,赋0同前。一般在for循环前先把矩阵赋1或0,在循环中修改矩阵或数组的元素值。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com