当符号被替换为“subs”的值时,SymPy“solve”无法求解矩阵方程A*x=b`

2024-04-20 11:12:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个要解的线性方程,如Ax = b。我只想一步一步地用符号表示,最后插入数字并用数字表示问题的解决方案。我在插入数字时有问题。如果之前计算的值是整数,那么一切正常。当我把一些带小数的东西放进去时,它就会打印出来

[]

下面是简单的代码来说明我的问题:

^{pr2}$

Tags: 代码符号数字整数解决方案ax小数地用
1条回答
网友
1楼 · 发布于 2024-04-20 11:12:45

嗯,我不知道为什么solve根本不起作用。不过,您可以使用^{}。它也适用于F: 100.23

from sympy import *

A, x, b = symbols("A, x, b")
A_x, A_y, B_y = symbols("A_x, A_y, B_y")
b, F, x_t, L = symbols("b, F, x_t, L")

A = Matrix([
    [1, 0, 0],
    [0, 1, 0],
    [0, 0, 1]
])
x = Matrix([
    [A_x],
    [A_y + B_y],
    [B_y]
])
b = Matrix([
    [0],
    [F],
    [F * x_t / L]
])

solution = A.LUsolve(b.subs({
    F: 100.23,
    x_t: 15,
    L:20
}))
print(solution)

哪个打印:

^{pr2}$

相关问题 更多 >