五.牛顿迭代法 1.程序代码(C++代码)
#include
using namespace std;
double newtondiedai(double a,double b,double c,double d,double x); int main() {
double a,b,c,d; double x=1.5;
cout<<\请依次输入方程四个系数:\cin>>a>>b>>c>>d;
x=newtondiedai(a,b,c,d,x); cout< double newtondiedai(double a,double b,double c,double d,double x) { while(abs(a*x*x*x+b*x*x+c*x+d)>0.000001) { x=x-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c); } return x; } 2.例子 3.运行结果 六.复化Simpson公式 1.程序代码(C++代码) #include double function1(double x)//被积函数 { double s; s=x/(4+x*x); return s; } double function2(double x)//被积函数 { double s; s=sqrt(x); return s; } double ReiterationOfSimpson(double a,double b,double n,double f(double x))//复化Simpson公式 { double h,fa,fb,xk,xj; h=(b-a)/n; fa=f(a); fb=f(b); double s1=0.0; double s2=0.0; for(int k=1;k xk=a+k*h; s1=s1+f(xk); } for(int j=0;j xj=a+(j+0.5)*h; s2=s2+f(xj); } double sn;//和 sn=h/6*(fa+fb+2*s1+4*s2);//复化Simpson公式 return sn; } main() {double a,b,Result,n; cout<<\请输入积分下限:\ cin>>a; cout<<\请输入积分上限:\ cin>>b; cout<<\请输入分割区间数n:\ cin>>n; cout<<\复化Simpson公式计算结果:\ Result=ReiterationOfSimpson(a, b, n,function1); cout< 2.例子 (I??06x4?x2dx(n?3)) 3.运行结果