tft每日頭條

 > 生活

 > 怎麼計算一個數的平方根

怎麼計算一個數的平方根

生活 更新时间:2024-11-23 15:20:43

看到這個題目,您或許會有兩個想法:

1.按按計算器就知道了,比如:√2=2^0.5=1.4142135623730950488016887242097……;

2.是不是要介紹“手算開平方”?實在抱歉,曾經的我也不是個十分專心的學生,竟是忘了。當然,百度一下,再度鑽研貼文也是可以的,不過興趣待定。


怎麼計算一個數的平方根(怎樣計算一個數的平方根)1


其實,本文想說的還就是和想法1有關。您有沒有想過:計算器又是怎樣計算的呢?

我不确定計算器背後的算法一定是什麼,但我确定的知道一種比較可行的方法:利用叠代函數叠代計算n次方根。今天就先來看看“二次方根”或“平方根”的計算方法。

二次方根叠代函數如下:

f(x)=x/2 C/(2*x)

其中:

x^2=C

C^0.5=x

即:函數中的C是被開方數,x是求解目标“二次方根”。

(備注:呃,請不要問我這個叠代函數是怎麼來的,據說和“泰勒級數”有關,這得從“數學分析”中尋找答案,汗……)

什麼是“叠代”?

①猜測一個初始值x0,比如:x0=1(不會猜,就選1);

②計算函數值x1,其中:x1=f(x0),即把x0代入叠代函數求值;

③叠代:x0=x1;

④反複循環②③兩步直至符合指定的精度要求。

可見:叠代就是把上一次輸出的結果作為下一次輸入的結果并反複執行。

這樣做神奇嗎?來讓我們試試。

例1.求根号2的值。

①x0=1

②x1= x/2 C/(2*x)=1/2 2/(2*1)=1.5

③x0=x1=1.5

④x1= x/2 C/(2*x)=1.5/2 2/(2*1.5)≈1.416666667

⑤x0=x1=1.416666667

⑥x1= x/2 C/(2*x)=1.416666667/2 2/(2*1.416666667)≈1.414215686

⑦x0=x1=1.414215686

⑧x1= x/2 C/(2*x)=1.414215686/2 2/(2*1.414215686)≈1.414213562

⑨……

隻需叠代4次就可以得到9位小數精度,足夠應付很多計算需要了。


怎麼計算一個數的平方根(怎樣計算一個數的平方根)2


例2.求1234567的平方根。

呵呵,手算基本是不可能的,小數位數多,會讓人抓狂的,下面是電子表格計算的數據,供參考:

第1次 1

第2次 617284

第3次 308643

第4次 154323.5

第5次 77165.74993

第6次 38590.87441

第7次 19311.43279

第8次 9687.68106

第9次 4907.558926

第10次 2579.561651

第11次 1529.078654

第12次 1168.235696

第13次 1112.507369

第14次 1111.111582

第15次 1111.110706

……

叠代了15次後,達到了一般穩定精度要求。不過,如果初始值不是1,而是與準确值更接近一些,比如1000,則叠代次數會大幅下降,如下:

第1次 1000

第2次 1117.2835

第3次 1111.127757

第4次 1111.110706

……

僅需4次。初值的選擇是很重要的,好的初值估計,算是核心技術。

本文算是幫您打開了一扇門,但同時,您會發現更多關上的門,比如:三次方根呢?四次、五次、小數次、無理數次……方根呢?比如:被開方數是小數、負數、無理數……呢?呵呵,這會讓我們頭很大的。


怎麼計算一個數的平方根(怎樣計算一個數的平方根)3

女兒的作品

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved