-1
我sympy有一個函數,它是相當難看:Sympy可以繪製功能,但找不到明顯的根
In [79]: print(expected_c)
Out[79]: 2**(n - 2)*n*(n - 1)*binomial(m, n)*factorial(m - 3/2)*factorial(m - n)/(binomial(2*m, n)*factorial(m - n/2)*factorial(m - n/2 - 1/2))
我要解決它的一些$ M $(比如10000)找到$ N $這樣,我的公式值,說4
這是很容易「手」通過以圖表它做它,看到它達到4約N = 400。然後,我試試這個值:
In [64]: expected_c.subs([(m,10000), (n,400)]).evalf()
Out[64]: 3.9901995099755
但是數值求解器無法找到該值:
In [82]: sympy.nsolve(expected_c.subs(m,10000.0)-4.0,n,400)
Out[82]: mpf('nan')
有沒有一種方法,使工作或我要編寫一個數值求解自己?即使是一個愚蠢的人也可以完成這項工作,因爲我不需要很高的精度,但我認爲Sympy應該能夠做到這一點。
謝謝,那太好了。我之前曾嘗試使用findroot(),但似乎我沒有正確使用它,因爲它一直運行,所以我不得不停止內核。我沒有指定「求解器='對分'」,你認爲這可能是原因嗎? –
回答說,我自己:是的,沒有求解器='平分'它需要永遠。 –