gpt4 book ai didi

python - 求解多参数方程,选择因变量。 [ python ,科学]

转载 作者:太空狗 更新时间:2023-10-30 02:58:00 26 4
gpt4 key购买 nike

我有一些方程式取决于许多变量。我想用 python 求解方程。这是一个更简单的方程式:

f(x,y,theta,w) = x - y + theta * (w - y)

在给定其余参数的值的情况下,如何求解/找到特定变量的方程式的根。有时我想求解 x,有时我想求解 theta

有没有一种优雅的方法可以解决这个问题,而不必为每个因变量重写函数?

最佳答案

看看 python 库 Sympy .这是一个示例 Jupyter 笔记本 session 。

In [71]:    from sympy import *

In [72]: w, x, y, theta = symbols('w x y theta') # define symbols

In [75]: func = x - y + theta * (w - y) # define function

In [76]: solve(func, x) # algebraic solution for x
Out[76]: [-theta*w + theta*y + y]

In [77]: solve(func, theta) # algebraic solution for theta
Out[77]: [(-x + y)/(w - y)]

In [81]: func2 = func.subs([(w,2.0), (y,0.5), (theta,3.14)])

In [82]: func2 # substitute for some variables
Out[82]: x + 4.21

In [83]: a = np.arange(5)
f = lambdify(x, func2, "numpy") # convert to a func to use with numpy
f(a)
Out[83]: array([ 4.21, 5.21, 6.21, 7.21, 8.21]) # apply to numpy array

In [84]: func2.evalf(subs={x:33}) # evaluate
Out[84]: 37.2100000000000

关于python - 求解多参数方程,选择因变量。 [ python ,科学],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35307352/

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