MATLAB设计Jacobi迭代法运行错误,
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/25 08:24:12
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
设计函数:
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); 就可以了啊
函数开始加一句
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); 就可以了啊
MATLAB设计Jacobi迭代法运行错误,
matlab jacobi迭代法求非线性方程的解 运行错误 怎么修改
Matlab题目,关于雅可比(Jacobi)迭代法,急求!
在用matlab编写Jacobi迭代法求线性方程组时一直出现这个问题,
matlab 代码运行错误
关于求jacobi迭代法的问题
Jacobi迭代法和Gauss-Seidel迭代法有什么区别啊?
matlab二分法,程序运行错误
这个matlab代码运行错误啊 ,
matlab fzero 命令运行时错误
matlab牛顿迭代法生成分形图,编好程序后运行总是出错,但不知道错在哪里,
MATLAB程序不能运行,求指出错误并修正