用牛頓迭代法和二分法求方程的根

2021-09-10 12:09:45 字數 1111 閱讀 9918

題目:
1.請設計程式,用牛頓迭代法求f(x)=cos(x)-x的近似根,要求精確到10-6。 (1)用函式float newtoon(float x)求方程在x附近的根; (2)用函式float f(float x)求x處的函式值,用函式float f1(float x)求f(x)在x處的導數; (3)在主函式中輸入x0,呼叫函式求得方程的近似根(精度要求為10-5),並輸出結果。

程式**如下:

1 #include2 #include3

float fl(floatx)4

9float newtoon(float

x)10

15void

main()

16while(fabs(x1-x0)>=1e-5

);26 printf("

the root of equation is %f\n

",x1);

27 }

2.已知f(x)=lnx+x2在(1/e, 1)內有唯一的乙個實根。請設計程式,用二分法求該近似實根。精確到|f(x)|<0.0001為止。 (1)用函式double eff(double x)求方程在x附近的根; (2)在主函式中輸入x,呼叫函式求得方程的近似根,並輸出結果。

程式**如下:

1 #include2 #include3

double eff(doublex)4

13else

1418}19

return

y;20}21

void

main()

22while(x<=1/exp(1)||(x>=1));//

輸入的數字必須在區間內,因為題目中已經指出在這個區間有乙個根!

29 z=eff(x);

30 printf("

the root of the equation is:%lf\n

",z);

31 }

其實也不難嗎,只不過就是數學要理解好哦。

posted @

2013-04-27 15:17

傾杯天涯 閱讀(

...)

編輯收藏

牛頓迭代法和二分法求方程根

0x03直接給出公式x x0 f x0 f x0 設迭代到 x x0 1e 5例子 2x 3 4 x 3x 6 0 include include int main while fabs x x0 1e 5 return x 0x04簡單說一下 f就是式子,fd為f x 然後套用公式就好了最後判斷是...

牛頓迭代法和二分法求方程的根

使用牛頓迭代法 在1.5附近 和二分法 在 10,10 區間內 求2 x x x 4 x x 3 x 6 0的根 牛頓迭代法 演算法分析 假設方程f x 0,在x0附近有乙個根,那麼用xn 1 xn f xn f xn 依次計算x1,x2,x3,那麼這個序列無限逼近方程的根。原理是根據f x 在x0...

二分法與牛頓迭代法求方程根

二分法求根基於二分查詢的思想。比如求根號2的近似值,猜測它在1到2之間,則將1作為left,2作為right,反覆二分比較f mid 的平方與2的大小,直到 right left 的精度eps控制在一定範圍以內。include using namespace std const double eps...