求解具有线性相关值的矩阵方程

问题描述 投票:0回答:1

对于方程

(-w*M + K) * p = 0

求解向量p。它由 3 个彼此线性相关的值组成。为了解决这个问题,可以将其中一个值设置为 1。 所有值都等于 0 的解决方案是不需要的。

到目前为止我已经测试了以下代码。不幸的是,我只得到

[]
作为这个问题的解决方案

我正在使用 sympy (

sy
) 和 numpy (
np
)。

w = 18.54876451

p1 = 1
p2 = sy.Symbol('p2')
p3 = sy.Symbol('p3')

p = np.array([[p1], [p2], [p3]])

equation_p = (-w * sy.Matrix(M) + sy.Matrix(K)) * sy.Matrix(p)
solutions_p = sy.solve(equation_p, (p1, p2, p3))
print(solutions_p)
M=

    [[3000    0    0]
     [   0 2000    0]
     [   0    0 8000]]

K = 

    [[1077728.39506173 -682666.66666667       0.        ]
     [-682666.66666667 1365333.33333333 -682666.66666667]
     [      0.         -682666.66666667  682666.66666667]]

数值求解也没有产生任何结果。

python numpy math sympy algebra
1个回答
0
投票

问题解决了。 可以使用线性代数来解决。

© www.soinside.com 2019 - 2024. All rights reserved.