matlab的M文件调用另一个M文件的多个结果时出现 ”输出太多参数 "错误

也就是说matlab的M文件怎样调用另一个M文件的多个结果,如:functionQ(A)symsx;l=[];[m,n]=size(A);AH=A';E=eye(n,n)... 也就是说matlab的M文件怎样调用另一个M文件的多个结果,如:
function Q(A)
syms x;
l=[];
[m,n]=size(A);
AH=A';
E=eye(n,n);
l=solve(det(x*E-AH*A))
for i=1:n
D{1,i}=l(i)*E-AH*A;
end
celldisp(D)
上面的程序输出三个结果怎样有另一个M文件逐一调用
不好意思,漏了一点
A=[1 1 0;0 0 1];
Q(A)
这样输出有三个结果
展开
 我来答
cxd1301
2011-10-08 · TA获得超过3021个赞
知道小有建树答主
回答量:593
采纳率:50%
帮助的人:319万
展开全部
首先你需要定义函数的返回值,没有返回值,你退出这个函数后就什么都得不到。
function output = Q(A) %%%%%% 加入返回值
syms x;
l=[];
[m,n]=size(A);
AH=A';
E=eye(n,n);
l=solve(det(x*E-AH*A));
for i=1:n
D{1,i}=l(i)*E-AH*A;
end
output = D; %%%% 将D返回
将以上代码存储于一个命名为Q的m文件

然后调用函数,在命令窗口或另外一个m文件输入:
>>A=[1 1 0;0 0 1];
>>result = Q(A); %%% 获得的result是一个1*3的元胞
>>celldisp(result)
result{1} =

[ -1, -1, 0]
[ -1, -1, 0]
[ 0, 0, -1]

result{2} =

[ 1, -1, 0]
[ -1, 1, 0]
[ 0, 0, 1]

result{3} =

[ 0, -1, 0]
[ -1, 0, 0]
[ 0, 0, 0]

如果你要调用result里的每一个元胞元素,只要用rusult{i} i = 1 ,2 ,3 就行
例如调用第二个: rusult{2}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式