首先牛頓迭代法可以理解為,X=X0-f/f', ?X0=X依次往下推,即可求出范圍內(nèi)的根;
本示例先創(chuàng)建一個(gè)方法,初值為X0,把初值傳給X,讓X0=X;
再求函數(shù)的一階導(dǎo)數(shù)f1,即是X=X0-f/f1;循環(huán)語句為do...while();如下所示;
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
double fa(double x0,int n){
double x,f,f1;
do
{ ? n=n+1;
x=x0;
f=x*x-115;
f1=2*x;
x0=x-f/f1;
}while(fabs(x-x0)>=1e-8);
cout<<"迭代次數(shù):"<
return (x0);
}
int main(){
double x0=10.0;
cout<
return 0;
}
運(yùn)行結(jié)果;
迭代次數(shù):4
10.723805;
以后會(huì)陸續(xù)編寫算法,互相交流,互相提升!??!