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 當然最簡單粗暴的方法就求根公式了,但是普通的求根公式太難記了,所以我們可以用兩個中間變數來簡化一下,對於一般的三次方程 首先把它化簡成下面的形式 其中 然後...