Python實現史蒂芬森迭代自動計算

2021-10-07 06:30:40 字數 728 閱讀 5962

構建不動點函式,並將函式代入公式中,即可得到答案。

這裡以不動點函式為(x^2+1)^(1/3)為例

改寫fun1(x)的返回值;

賦予初值x=1.5;k=0;

設定誤差限;

執行即可得到答案。

def fun1(x):     # 不動點函式

return (x**2+1)**(1/3)

x = 1.5 # 初值

k = 0

while true:

a = x

b = fun1(x)

c = fun1(fun1(x))

x = x-((b-x)**2)/(c-2*b+a)

k += 1

b = fun1(x) # 去掉這兩行就能得到第0次迭代的b c結果

c = fun1(fun1(x)) # 去掉這兩行就能得到第0次迭代的b c結果

print('第{}次迭代的結果為{} {} {}'.format(k, x, b, c))

if (abs(x-a)

break

print("方程的解為:")

print(x)

答案如圖所示:

原始碼 史蒂芬森加速迭代方法的matlab實現

本篇是在課程學習中自己程式設計實現的史蒂芬森加速迭代法計算非線性方程或者超越方程近似根的演算法,寫一下,後邊便於複習和期末課程設計引用。艾特金加速法本質上和史蒂芬森加速方法是相同的,因此實現史蒂芬森加速法即可,對 稍加修改即可實現艾特金加速法。史蒂芬森加速迭代法求根的matlab演算法 functi...

的python實現 python實現檔案自動歸類

這幾天和幾個小夥伴,在一起做乙個ppt。那我想,可不可以做乙個指令碼實現檔案按照副檔名自動分類呢?這樣,就可以相對輕鬆的找到檔案了。效果展示 使用方法很簡單,只要把python指令碼檔案,放到待處理的資料夾目錄下,執行python檔案即可。這個指令碼實現比較簡單,我把涉及的知識點列了出來。1 相對路...

Python 實現迭代器

for語句呼叫iter iter 返回 next 方法。返回所有的之後,引發stopiteration異常來終止。於是可以自己寫乙個 iter 函式,返回self,寫乙個 next 方法,每次返回下乙個值,直到結束。class student def init self,name,age self....