tôi có các biểu hiện sau:SymPy, đơn giản hóa/thay thế sử dụng các mẫu nổi tiếng hoặc tiểu biểu
from sympy import pi, sin, cos, var, simplify
var('j,u,v,w,vt,wt,a2,t,phi')
u0 = v*a2*sin(pi*j/2 + pi*j*t*phi**(-1)/2) + pi*vt*a2*cos(pi*j/2 + pi*j*t*phi**(-1)/2)*j*phi**(-1)/2 + pi*w*a2*cos(pi*j/2 + pi*j*t*phi**(-1)/2)*j*phi**(-1)
Mà có thể được đơn giản hóa:
print simplify(u0)
#a2*(pi*j*vt*cos(pi*j*(phi + t)/(2*phi)) + 2*pi*j*w*cos(pi*j*(phi + t)/(2*phi)) + 2*phi*v*sin(pi*j*(phi + t)/(2*phi)))/(2*phi)
Với tiểu biểu:
bj = pi*j*(phi + t)/(2*phi)
cj = j*pi/(2*phi)
Hiện tại tôi thay thế bằng tay bj
và cj
trong sim được biểu thị u0
biểu thức để nhận được:
u0 = a2*(v*sin(bj) + cj*vt*cos(bj) + 2*cj*w*cos(bj))
Có thể sử dụng SymPy để đạt được điều đó, tránh thay thế thủ công không?
đó là tuyệt vời! Cảm ơn bạn! –