Python怎麼求解一元三次方程?

時間 2021-06-03 08:35:58

1樓:

調包方法是使用符號化運算庫,常用庫有Theano、SympyTheano不知道有沒有,Sympy可以用以下方式求解import sympy as sp

x = sp.Symbol('x')

f = x**3 + 2*x**2-1

sp.solve(f)

輸出[-1, -1/2 + sqrt(5)/2, -sqrt(5)/2 - 1/2]

返回結果的列表

如果是用jupyter還能輸出視覺化數學符號如果檢視型別

res = sp.solve(f)

type(res[0]) #

type(r[1]) #

是sympy的內建型別,如果想要在程式裡面使用得出的結果,只需要用float、int轉化一下就好了

(math.sqrt(5)-1)/2 == float(r[1]) #True

2樓:楊航鋒

不妨假設待求解的一元三次方程形式為

令函式 ,則 ,因此帶入牛頓迭代格式可得

當 停止迭代,輸出 即為原方程其中的乙個解。

defnewton(x0

=0.001,*

,a,b

,c,d

,e=1e-6

):x_n=x0

-((a*

x0**3+

b*x0**2+

c*x0+

d)/(

3*a*

x0**2+

2*b*

x0+c))

while

abs(

x_n-x0)

>e:

x0=x_nx_n=x0

-((a*

x0**3+

b*x0**2+

c*x0+

d)/(

3*a*

x0**2+

2*b*

x0+c))

return

x_n求解示例

這個一元三次方程怎樣求解?

f x x ax 2x 1 要滿足 1,3 上有且僅有乙個實根,首先必有f 1 f 3 0。f 1 a 2,f 3 9a 22 a 2 9a 22 0 22 9 a 2 若a 22 9,f x x 3 9x 5x 3 9,除3之外另兩根為 5 133 18,都在 1,3 上,舍。若a 2,f x x...

一元三次方程的求根公式怎麼證明

種花萬歲 證明很簡單,代入證明即可。你想問的是怎麼得到的吧?先配方消去二次項,設x p q,利用 p q 3 3pq p q p 3 q 3和原方程比較係數 牛背上的春天 推導過程 1 方程x 3 1的解為x1 1,x2 1 2 i 3 2 x3 1 2 i 3 2 2 2 方程x 3 A的解為x1...

三次方程怎麼求解?

傻東西 這個題還是很簡單的,可以通過因式分解得出,不妨設這個函式的表示式為 則易得 所以原函式可化為 所以原方程的三個根為 YorkYoung 當然最簡單粗暴的方法就求根公式了,但是普通的求根公式太難記了,所以我們可以用兩個中間變數來簡化一下,對於一般的三次方程 首先把它化簡成下面的形式 其中 然後...