2016-10-31 31 views
0

好吧,我有一個非常奇怪的功能,不能在數學上減少到較低的條件。 (類似於(e^x + y ^(十進制指數)*(x + y))=常數,但在那裏也沒有太多令人討厭的係數Python:在一個方程的定義域獲得有序對

所以,我希望能夠從這個函數超過了某個域,但sympy中的求解特性對於這個問題是非常緩慢的(因爲指數需要更多的小數位,運行時間非常快速下降)。 ?圖形公用程序能夠很快地顯示功能上的點的值...對嗎?

我發現這個:http://docs.sympy.org/latest/modules/plotting.html但我沒有看到任何方式讓它返回點或列表的字典點或任何東西帽子可以幫助我。

在此先感謝您提供的任何幫助。

+0

問題描述不清晰。 「......從這個功能中獲得價值......」是什麼意思?請提供一個[最小工作示例](http://stackoverflow.com/help/mcve),展示您迄今爲止所嘗試的內容。 – Stelios

+0

嘗試使用'nsolve'進行數值求解。 – asmeurer

回答

0

我認爲是特例,exp(x)+ y ** 2.5 *(x + y)-5.6。

需要一個年齡來使用implicit_plot進行繪製,即使兩個變量都聲明爲真實,也需要解決給定x的y。

但這個代碼執行速度相當之快:

>>> for y0 in range(10,-1,-1): 
...  solve((exp(x)+y**2.5*(x+y)-5.6).subs(y,y0),x) 
...  
[-9.98229139123526] 
[-8.97695525220895] 
[-7.96906598973219] 
[-6.95681140452222] 
[-5.93652466210639] 
[-4.89995736881455] 
[-3.82568136169838] 
[-2.64531340075502] 
[-1.07064718834697] 
[1.21836061658691] 
[1.72276659774110] 
相關問題