Python求一個數的平方根

Alpha-Go發表於2020-11-13

利用Python求一個數的平方根,保留兩位小數

數學角度分析

假設給定的數值是b,設x=√a ,那麼x^2=a,最後就可以建立一個方程式
f(x)= x^2 - a ,把這個函式視為一個曲線的斜率,也就是說原函式F(x) 的導函式 F`(x) = f(x)=x^2 - a, 將這個問題轉換成梯度下降的問題,給定一個初始值,和一個學習率,遞迴去接最優值。
最總方程式: start= start - lean_rata*f(x)

Python程式碼實現

# 給定初始值為4
import math
# 給定初始值為4
a = 4
# 從零開始尋找
start = 0
# 給定一個學習率
lean_rata = 0.01
for i in range(1000):
    start = start - lean_rata*(start**2 - a)
print('%d 的平方根為:%.2f ,真實值為:%.2f' % (a, start, math.sqrt(a)))

只是個人理解,若有不對的地方請多多指教。

相關文章