用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3x-6=0
生活随笔
收集整理的這篇文章主要介紹了
用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3x-6=0
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用牛頓迭代法求下面方程在1.5附近的根:2x^3-4x^2+3x-6=0
關(guān)于牛頓迭代法,在計算方法課程中講到,簡單解釋下,基本公式為:
Xn+1=Xn-f(Xn)/f *(Xn) 其中Xn+1為第n+1次迭代結(jié)果,Xn為第n次迭代結(jié)果,f?*(Xn)為f?(Xn))的導(dǎo)函數(shù)值。
基本步驟:
第一步把方程改寫為多項式f(x)=2x^3-4x^2+3x-6,給定初值X0;
第二步將Xn帶入迭代公式Xn+1=Xn-f(Xn)/f?*(Xn),求出Xn+1
第三步判斷精度fabs(Xn+1-Xn)是否達(dá)到要求,滿足則輸出,否則返回上一步;
下面給出代碼:
#include<stdio.h> #include<math.h> int main() {int i=0;double x1=1.5,x2=0;//迭代初值while (fabs(x2-x1)>=1e-5){x1=x1-(2*x1*x1*x1-4*x1*x1+3*x1-6)/(6*x1*x1-8*x1+3);x2=x1-(2*x1*x1*x1-4*x1*x1+3*x1-6)/(6*x1*x1-8*x1+3);i++;printf("第%d次迭代 x1=%9.8f\tx2=%9.8f\n",i,x1,x2);}printf("\nx=%9.8f\t共迭代:%d次\n",x2,i);return 0; }下面給出測試結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3x-6=0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 反射基本操作
- 下一篇: 花水木之DruParty: Drupal