One or more output arguments not assigned during call to 'E:\MATLAB7\work\jacdd.m (jacdd)'.t%用雅可比迭代解线性方程组ax=b%输入:A-系数矩阵;b-常系数向量;X0-初始向量;P-泛数的名称;wucha-近似解误差的精度
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 21:46:39
![One or more output arguments not assigned during call to 'E:\MATLAB7\work\jacdd.m (jacdd)'.t%用雅可比迭代解线性方程组ax=b%输入:A-系数矩阵;b-常系数向量;X0-初始向量;P-泛数的名称;wucha-近似解误差的精度](/uploads/image/z/12722967-63-7.jpg?t=One+or+more+output+arguments+not+assigned+during+call+to+%27E%3A%5CMATLAB7%5Cwork%5Cjacdd.m+%28jacdd%29%27.t%25%E7%94%A8%E9%9B%85%E5%8F%AF%E6%AF%94%E8%BF%AD%E4%BB%A3%E8%A7%A3%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84ax%3Db%25%E8%BE%93%E5%85%A5%EF%BC%9AA-%E7%B3%BB%E6%95%B0%E7%9F%A9%E9%98%B5%EF%BC%9Bb-%E5%B8%B8%E7%B3%BB%E6%95%B0%E5%90%91%E9%87%8F%EF%BC%9BX0-%E5%88%9D%E5%A7%8B%E5%90%91%E9%87%8F%EF%BC%9BP-%E6%B3%9B%E6%95%B0%E7%9A%84%E5%90%8D%E7%A7%B0%EF%BC%9Bwucha-%E8%BF%91%E4%BC%BC%E8%A7%A3%E8%AF%AF%E5%B7%AE%E7%9A%84%E7%B2%BE%E5%BA%A6)
One or more output arguments not assigned during call to 'E:\MATLAB7\work\jacdd.m (jacdd)'.t%用雅可比迭代解线性方程组ax=b%输入:A-系数矩阵;b-常系数向量;X0-初始向量;P-泛数的名称;wucha-近似解误差的精度
One or more output arguments not assigned during call to 'E:\MATLAB7\work\jacdd.m (jacdd)'.t
%用雅可比迭代解线性方程组ax=b
%输入:A-系数矩阵;b-常系数向量;X0-初始向量;P-泛数的名称;wucha-近似解误差的精度;
%max1-迭代的最大次数
%输出:系数矩阵A的a=sum(abs(a(1:n,1:(k-1))+abs(a(k,(k+1):n))))-abs(a(1:n,1:n))
function X=jacdd(A,b,X0,P,wucha,max1)
[n,m]=size(A);
for j=1:m
a(j)=sum(abs(A(:,j)))-2*(abs(A(j,j)));
end
for i=1:n
if a(i)>=0
disp('请注意:系数矩阵A不是对角占优的,此雅可比迭代不一定收敛')
return
end
end
if a(i)
运行以后老是出现“?One or more output arguments not assigned during call to 'E:\MATLAB7\work\jacdd.m (jacdd)'.t”,不懂是怎么回事?请高手指教哈
One or more output arguments not assigned during call to 'E:\MATLAB7\work\jacdd.m (jacdd)'.t%用雅可比迭代解线性方程组ax=b%输入:A-系数矩阵;b-常系数向量;X0-初始向量;P-泛数的名称;wucha-近似解误差的精度
这是因为你下面这段函数return了,函数输出X就没有计算,我建议在if分支里加一句,X=NaN
for i=1:n
if a(i)>=0
disp('请注意:系数矩阵A不是对角占优的,此雅可比迭代不一定收敛')
X=NaN
return
end
end
满意请采纳,谢谢!