gpt4 book ai didi

Python sympy 方程矩阵

转载 作者:行者123 更新时间:2023-11-28 17:07:03 26 4
gpt4 key购买 nike

我正在尝试使用以下内容将 4 个方程式转换为矩阵形式,但输出中的第 4 行不正确。任何帮助将不胜感激:

from sympy import linear_eq_to_matrix, symbols, simplify, sin, cos, Eq, pprint

A, B, C, D, z, L, k = symbols('A, B, C, D, z, L, k')

fnc = A + B*z + C*sin(k*z) + D*cos(k*z)

bc1 = Eq(0, fnc.subs(z,0))
bc2 = Eq(0, fnc.subs(z,L))
bc3 = Eq(0, fnc.diff(z,2).subs(z,0))
bc4 = Eq(0, fnc.diff(z,2).subs(z,L))

a, b = linear_eq_to_matrix([bc1, bc2, bc3, bc4], [A, B, C, D])

pprint(bc1)
pprint(bc2)
pprint(bc3)
pprint(bc4)

pprint(a)

我得到以下输出:

enter image description here

预期输出:

enter image description here

最佳答案

看来,如果在将系统转换为矩阵形式之前使用以下代码行简单地展开bc4,就会得到正确的结果:

bc4 = sympy.expand(Eq(0, fnc.diff(z,2).subs(z,L)))

其余代码不变,这将产生以下输出:

0 = A + D
0 = A + B⋅L + C⋅sin(L⋅k) + D⋅cos(L⋅k)
2
0 = -D⋅k
2 2
0 = - C⋅k ⋅sin(L⋅k) - D⋅k ⋅cos(L⋅k)
⎡-1 0 0 -1 ⎤
⎢ ⎥
⎢-1 -L -sin(L⋅k) -cos(L⋅k) ⎥
⎢ ⎥
⎢ 2 ⎥
⎢0 0 0 k ⎥
⎢ ⎥
⎢ 2 2 ⎥
⎣0 0 k ⋅sin(L⋅k) k ⋅cos(L⋅k)⎦

关于Python sympy 方程矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50359216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com