Go 官方教程練習 一 牛頓迭代法求平方根

2021-09-01 10:12:56 字數 529 閱讀 8034

我的解法基於教程的內容,也就是還沒有到的內容不會出現在我的解法中,並且既然是練習便盡量地使用go的特性,拋棄自己對其它語言使用的習慣。

習題:中文資料:

解法:

package main

import fmt "fmt"

import math "math"

// 找個比較近的值,期望有這個東西能夠比較快地找到合適的值。

func guess(seed float64, value float64) float64

var p float64 = 1.0

for v:= seed; v < value; p, v = v, v*seed {}

if p > value

return p

}func newtoniterator(start float64) func(float64) float64

}func main()

}

感慨:牛頓太nb了!

牛頓迭代法求n方根

借助上述公式,理論上可以求任意次方根,假設要求a 假設非負 的n次方根,則有xn a,令f x xn a,則只需求f x 0時x的值即可。由上述簡單推導知,當f x 0時,xn 1 xn,因此把f x xn a 代入上述迭代式進行迭代直至xn 1 xn即可。實際中xn 1 xn可能永遠達不到,可以根...

牛頓迭代法求n方根

借助上述公式,理論上可以求任意次方根,假設要求a 假設非負 的n次方根,則有xn a,令f x xn a,則只需求f x 0時x的值即可。由上述簡單推導知,當f x 0時,xn 1 xn,因此把f x xn a 代入上述迭代式進行迭代直至xn 1 xn即可。實際中xn 1 xn可能永遠達不到,可以根...

牛頓迭代法求方程解

牛頓迭代法 newton s method 又稱為牛頓 拉夫遜方法 newton raphson method 它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。方法使用函式f x 的泰勒級...