MATLAB多输出量函数应该如何定义?
我在做一个案例,程序如下:function[x,XA]=GaussSXXQ(A,b)%高斯顺序消去法求线性方程组Ax=b的解%线性方程组的系数矩阵:A%线性方程组的常数向...
我在做一个案例,程序如下:
function [x,XA]=GaussSXXQ(A,b)
%高斯顺序消去法求线性方程组Ax=b的解
%线性方程组的系数矩阵:A
%线性方程组的常数向量:b
%线性方程组的解:x
%校园后的系数矩阵:XA
N=size(A);
n=N(1);
for i=1:(n-1)
for j=(i+1):n
if(A(i,i)==0)
disp('对角元素为0!'); %防止对角元素出现0
return;
end
l=A(j,i);
m=A(i,i);
A(j,1:n)=A(j,1:n)-l*A(i,1:n)/m; %消元
b(j)=b(j)-l*b(i)/m;
end
end
x=SolveUPTriangle(A,b); %求上三角系数矩阵线性方程组
XA=A; %消元后的系数矩阵
结果显示:
对角元素为0!
出错 GaussSXXQ (line 7)
N=size(A);
调用 "F:\POSTGRADUATE STUDY\Numerical Analysis\Home Work\GaussSXXQ.m>GaussSXXQ" 时,未对输出参数 "x" (可能还包括其他参数)赋值。
尝试了一下,首先,同目录的SolveUPTriangle没有问题;
然后查了一下help中函数的定义,应该在函数下面定义两个变量的表达式,但我希望是在最后输出两个输出量。
我用的2014a,参考书用的2010b.
希望有大神能解答一下! 展开
function [x,XA]=GaussSXXQ(A,b)
%高斯顺序消去法求线性方程组Ax=b的解
%线性方程组的系数矩阵:A
%线性方程组的常数向量:b
%线性方程组的解:x
%校园后的系数矩阵:XA
N=size(A);
n=N(1);
for i=1:(n-1)
for j=(i+1):n
if(A(i,i)==0)
disp('对角元素为0!'); %防止对角元素出现0
return;
end
l=A(j,i);
m=A(i,i);
A(j,1:n)=A(j,1:n)-l*A(i,1:n)/m; %消元
b(j)=b(j)-l*b(i)/m;
end
end
x=SolveUPTriangle(A,b); %求上三角系数矩阵线性方程组
XA=A; %消元后的系数矩阵
结果显示:
对角元素为0!
出错 GaussSXXQ (line 7)
N=size(A);
调用 "F:\POSTGRADUATE STUDY\Numerical Analysis\Home Work\GaussSXXQ.m>GaussSXXQ" 时,未对输出参数 "x" (可能还包括其他参数)赋值。
尝试了一下,首先,同目录的SolveUPTriangle没有问题;
然后查了一下help中函数的定义,应该在函数下面定义两个变量的表达式,但我希望是在最后输出两个输出量。
我用的2014a,参考书用的2010b.
希望有大神能解答一下! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询