我正在使用Sympy来计算转发矩阵。但它对我来说效果不佳。
我的矩阵里面有复杂的数字。我不想有复杂的数字。我该如何摆脱它们?我也试图显示一个小数。你可以看到,根本没有成功。
这是我的代码
from sympy import *
t= symbols('t', real=True)
K = 1
J = 5
A = Matrix([[0, 1], [-K/J, 0]])
T, D = A.diagonalize()
PHI = T*exp(D*t)*T.inv()
print(pretty(N(PHI, 1)))
print(pretty(D))
答案 0 :(得分:0)
原因是因为矩阵A
具有复杂的特征值。这是一个示范例子。假设-K/J = 4
。
然后
>> A = [0 1; -4 0]
A =
0 1
-4 0
>> eig(A)
ans =
0.0000 + 2.0000i
0.0000 - 2.0000i