首先你需要定义函数的返回值,没有返回值,你退出这个函数后就什么都得不到。
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}