📄 simpson.cpp
字号:
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
double Simpson(double x0,double y0,double x1,double y1,double x2,double y2,double x)
{
double temp0,temp1,temp2;
temp0=(x-x1)*(x-x2)/(x0-x1)/(x0-x2);
temp1=(x-x0)*(x-x2)/(x1-x0)/(x1-x2);
temp2=(x-x0)*(x-x1)/(x2-x0)/(x2-x1);
double y=temp0*y0+temp1*y1+temp2*y2;
return y;
}
double SimpsonA(double x[],double y[],double xx)
{
double yy=0;
double temp[3];
for(int i=0;i<3;i++)
{
switch(i)
{
case 0:
temp[0]=(xx-x[1])*(xx-x[2])/(x[0]-x[1])/(x[0]-x[2]);
yy+=temp[0]*y[0];
break;
case 1:
temp[1]=(xx-x[0])*(xx-x[2])/(x[1]-x[0])/(x[1]-x[2]);
yy+=temp[1]*y[1];
break;
case 2:
temp[2]=(xx-x[0])*(xx-x[1])/(x[2]-x[0])/(x[2]-x[1]);
yy+=temp[2]*y[2];
break;
}
}
return yy;
}
void main()
{
double x=115;
double y=Simpson(100,10,121,11,144,12,x);
cout<<"the square root of the "<<x<<": "<<y<<endl;
x=115;
double x0[3]={100,121,144};
double y0[3]={10,11,12};
y=SimpsonA(x0,y0,x);
cout<<"the square root of the "<<x<<": "<<y<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -