簡體   English   中英

Python,求解變量的非線性方程

[英]Python, solve non-linear equation for a variable

使用 Python 和 SymPy 我試圖解決 b 的這個方程:

文本

我的代碼:

From sympy import * 
b = Symbol('b') 
x = ((b/(2*math.pi*math.e))*((math.pi*b)**(1/b)))**(1/(2*(b-1)))
solve(x-1.0034,b)

我得到了這個錯誤: NotImplementedError: multiple generators...沒有實現算法來解決方程...

你知道錯誤在哪里嗎? 或者有沒有可能方程太難了,以至於Python無法解決? 謝謝

最好使用來自 sympy 的piE

In [21]: b = Symbol('b')                                                                                                          

In [22]: eq = ((b/(2*math.pi*math.e))*((math.pi*b)**(1/b)))**(1/(2*(b-1))) - 1.0034                                               

In [23]: eq                                                                                                                       
Out[23]: 
                                                1            
                                             ───────         
                                             2⋅b - 2         
⎛                     b ____________________⎞                
⎝0.0585498315243192⋅b⋅╲╱ 3.14159265358979⋅b ⎠        - 1.0034

In [24]: eq = ((b/(2*pi*E))*((pi*b)**(1/b)))**(1/(2*(b-1))) - 1.0034                                                              

In [25]: eq                                                                                                                       
Out[25]: 
                  1            
               ───────         
               2⋅b - 2         
⎛  b _____  -1⎞                
⎜b⋅╲╱ π⋅b ⋅ℯ  ⎟                
⎜─────────────⎟        - 1.0034
⎝     2⋅π     ⎠  

該方程是超越的,不太可能存在解析解。 可能有一個蘭伯特形式,但solve沒有找到任何東西。

您可以使用nsolve數字方式解決它:

In [29]: sol = nsolve(eq, b, 2)                                                                                                   

In [30]: sol                                                                                                                      
Out[30]: 14.3368885826882

In [31]: eq.n(subs={b:sol})                                                                                                       
Out[31]: 7.22915270916583e-19

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM