Python 怎么解方程啊?

2018 年 4 月 23 日
 flyzy2005

用的 sympy 中的 solve,这个库是不是只能解有解的方程?

p1 = 0.8
p2 = 1
r1 = 500
r2 = 3500
x = symbols('x')
print('in')
s=solve(p1*exp(-x*r2)-p2*exp(-x*r1)+p2-p1, x)
print(s)

一直输出不了 s。。。 像这种方程用 python 怎么解?

6259 次点击
所在节点    Python
17 条回复
est
2018 年 4 月 23 日
又来一个廖学峰课后作业系列?
flyzy2005
2018 年 4 月 23 日
@est。。不是 = = 要算个方程
l1093178
2018 年 4 月 23 日
WolframAlpha 了解一下?
flyzy2005
2018 年 4 月 23 日
@l1093178 谢谢 算出来了
princelai
2018 年 4 月 23 日
前两天不是刚问完,sympy
flyzy2005
2018 年 4 月 23 日
@princelai 我用了那个 没解算不出来好像 换一个 x-2 很快算出来
asdf123101
2018 年 4 月 23 日
自己写个二分法?知道导数可以用牛顿。这种方程自己写一个很快的。
sciooga
2018 年 4 月 23 日
这样行不行?

import random

while True:
x = random.random()
然后将 x 带入方程两边如果相等就 break
reself
2018 年 4 月 23 日
@sciooga 哈哈猴子算法
flyzy2005
2018 年 4 月 23 日
@sciooga 😂😂😂 用了那个 wolframalpha
xxm459259
2018 年 4 月 23 日
sympy 啊。。。
flyzy2005
2018 年 4 月 23 日
@pandachow 我就用的这个库啊……你看我代码 卡在 solve 算不出来
idlerlestat
2018 年 4 月 23 日
sympy 是给解析解,你这个方程没有解析解啊。
flyzy2005
2018 年 4 月 23 日
@idlerlestat 嗯。。所以我来问应该用什么
idlerlestat
2018 年 4 月 23 日
@flyzy2005 numpy 和 scipy.optimize.fsolve 就行
inflationaaron
2018 年 4 月 23 日
这种需求用 Mathematica 啊
20150517
2018 年 4 月 24 日
不是我说,这种最好用 tensorflow,做个 variable 然后用模型能帮你算出系数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/449022

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX