總網頁瀏覽量

2020年9月23日 星期三

二分法求解


1、函式可以回傳二個值,但函式外需給予2個變數,才能讀取。

2、二個變數的列印,可以用%,印出浮點數可以用「%.10f 」來控制位數。




 def function(x):#定義函數

    return x**(3**0.5)-3**0.5


# 二分法

def bisection(left, right,eps):

    middle =.5*(left+right)

    count=0  #統計迭代次數

    while abs(function(middle))>eps:

        middle = (left+right)/2

        if function(left)*function(middle)<=0:

            right=middle

        else:

            left=middle

        count=count+1

    return count,middle


left=1

right=2

eps=0.001#設定誤差

count,middle=bisection(left, right,eps)

print("迭代%d次得到的根是%.5f" %(count,middle))




沒有留言:

張貼留言