由于matlabFunction只能生成一个输出参数,我如何使用它为matlab函数的 second 参数创建符号表达式?例如
B = sym('b',[2,2]);
[Q,Lambda] = eig(B)
将返回B和
的特征向量和特征值Lambda = eig(B)
只返回特征值。
Q = matlabFunction('eig(B)');
返回一个匿名函数,只给出B的特征值,但是如何说服matlabFunction返回第一个两个参数,从而返回特征向量?我想有一些巧妙地使用deal
函数,但我无法弄明白。谢谢!
答案 0 :(得分:0)
我发现了symfun
,它解决了我的问题
B = sym('b_%d%d',[2,2]);
[Q,Lambda] = eig(B);
Qfun = simplify(symfun(Q,[B(1,1),B(1,2),B(2,1),B(2,2)]));
Lfun = diag(symfun(Lambda,[B(1,1),B(1,2),B(2,1),B(2,2)]));