【发布时间】:2014-12-08 16:20:13
【问题描述】:
我对 Maple 完全陌生,我想解决以下线性系统:
Y=BX
其中X 是输入,Y 是输出,B 是具有以下形式的传递函数:
B :=(t) -> matrix(A0)+matrix(A1)*f1(t)+matrix(B1)*f2(t)
A0 := matrix(3, 3, [1, 0, 0, 1, 0, 0, 1, 0, 0]);
A1 := matrix(3, 3, [1, 1/2, (1/2)*sqrt(3), 1/2, 1, (1/2)*sqrt(3), (1/2)*sqrt(3), 1/2, 2]);
B1 := matrix(3, 3, [1, 1/2, -(1/2)*sqrt(3), -1/2, 1, (1/2)*sqrt(3), (-sqrt(3))*(1/2), 1/2, 2]);
f1 := (t) -> cos(omega*t)
f2 := (t) -> sin(omega*t)
omega:=0.95;
但是,现在我想获得给定输出的输入向量,因此我需要反转B,因为:
X = B^-1 Y
为了获得B 的逆符号表达式,我将不胜感激。但是,当我这样做时
inverse(B(t)) : nothing happens
inverse(matrix(B(t))) : Error, (in matrix) invalid argument
solve(x = B(t), t): Error, (in SolveTools:-complexity) invalid input: numer expects its 1st argument
如果可能的话,我希望它是以下形式:
B^-1 := A0' + A1'*f1(t) + B1'*f2(t)
其中A0'、A1' 和B1' 是逆矩阵。
【问题讨论】:
-
这个问题真的是关于数学而不是编程。试试Mathematics 网站。
-
但我仍然需要学习计算符号矩阵
-
这将是知道如何计算逆的次要的。 如果存在与您要求的形式相反的形式,那么编码
B^-1将很容易(使用提供的等式)。使用数学找到组件矩阵A0'A1'和A2'后,您可以在此处提出编码问题。 -
但我仍然无法得到符号形式的 B 表达式,因此无法计算逆。
-
您正在寻找的是
B^-1(t)符号,因此您不必在每一步都反转矩阵。这是正确的吗?