2016-02-28 100 views
0

在这里,我的传递函数矩阵(3 * 7)尺寸:如何计算传递函数矩阵的符号计算?

G = [G11,G12,G13,G14,G15,G16,G17; 
     G21,G22,G23,G24,G25,G26,G27; 
     G31,G32,G33,G34,G35,G36,G37] 

是否有可能在Matlab中得到A = [G*(G^(-1))T]象征: 其中:

G^(-1) = inv(G) and (G^(-1))T = transpose of (inv(G)) 
+1

'inv(G)'是否意味着表示一个矩阵逆?如果是这样,你需要使用'pinv',因为'G'不是方形的。并且'G'是否包含您列出的符号变量(即'G = sym('G',[3 7])')还是每个实际上都是一个传递函数?您还应该指定'G'的元素是真实还是复杂。 – horchler

+0

是Gij是传递函数,为了简单起见,我在这里没有提及它们。对于每个列和行,Gij = a /(a * s + b)和a,b是不同的。 – user2971764

回答

0

没错这就是可能的,但它可能需要很长时间,而且您的计算机可能会耗尽内存。 Matlab的符号操作不是很好,但这里是解决方案。首先将矩阵的元素定义为符号变量。 syms G11G11定义为符号。比定义G矩阵并继续。比你可以找到A矩阵。

我还要提一下,因为你的矩阵是3 * 7,我不知道matlab是否对非方阵有逆指令,但是你可以有伪逆。如果你想进行符号计算,Maple和mathematica要好得多。但是matlab在数值计算中更好。