【问题标题】:Inverse sum of matrices矩阵的逆和
【发布时间】: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) 符号,因此您不必在每一步都反转矩阵。这是正确的吗?

标签: matrix maple


【解决方案1】:

考虑使用tangent half angle substitution 来创建(在伪代码中)

z = TAN(ω·t/2) = TAN(φ/2)
φ = ω·t = 2 ATAN(z)

       | 2*(z+1)/(1+z^2)          (z+1)/(1+z^2)-1/2  √3*(1-z)/(1+z^2)-√3/2  |
B(z) = | 1/2+(1-z)/(1+z^2)        2*(z+1)/(1+z^2)-1   √3*(z+1)/(1+z^2)-√3/2 |
       | 1-√3/2+√3*(1-z)/(1+z^2)  (z+1)/(1+z^2)-1/2  4*(z+1)/(1+z^2)-2      |

然后您可以获得IB(z)=inverse(B(z)) 以用作X = IB(tan(omega*t/2))*Y

【讨论】:

  • 请使用maple 和上面的符号替换自己检查系数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 2013-01-24
  • 2019-02-08
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多