作业帮 > 综合 > 作业

MATLAB设计Jacobi迭代法运行错误,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 11:31:52
MATLAB设计Jacobi迭代法运行错误,
设计函数:
function [x,k]=jacobi_f(A,b,x0,tol,max)
[n,m]=size(A);xold=x0;C=-A;
for i=1:n
C(i:i)=0;
C(i,:)=C(i,:)/A(i,i);
d(i,:)=b(i)/A(i,i);
end
i=1;
while i
你的x没有初始化,导致当你迭代不收敛时x没有赋值,肯定x作为返回值报错.
函数开始加一句
x=[];
还有我觉得你的算法有问题,
C(i:i)=0;//i:弄错了吧
d(i,:)=b(i)/A(i,i);//冒号是什么意思
具体请自行检查.
再问: 非常感谢! 另外,C(i:i)确实写错了,应该是C(i,i),但是d那个没错,改了的话,后面的xnew=C*xold+d格式就不匹配了。
再答: d应该是一个向量吧,直接d(i)=b(i)/A(i,i); 就可以了啊