📄 3_1.cpp
字号:
#include<iostream>
#include<cmath>
double X=0.3367;
double x[]={0.32,0.34,0.36};
double y[]={0.314567,0.333487,0.352274};
using namespace std;
int main()
{
double R1,R2;
double L1,L2;
//double sin(X);
void Calculate1(double&);
void Calculate2(double&);
cout<<"sin("<<X<<")="<<sin(X)<<endl;
Calculate1(L1);
//R1=0.3335*(X-x[0])*(X-x[1])/2;
R1=fabs(sin(X)-L1);
cout<<"一次截断误差是:R1="<<R1<<endl;
Calculate2(L2);
//R2=0.828*(X-x[0])*(X-x[1])*(X-x[2])/6;
R2=fabs(sin(X)-L2);
cout<<"二次截断误差是:R2="<<R2<<endl;
return 0;
}
void Calculate1(double &L1)
{
//double L1;
cout<<"Please enter X:"<<endl;
//cin>>X;
//cout<<"X="<<X<<endl;
L1=(X-x[1])*y[0]/(x[0]-x[1])+((X-x[0])*y[1]/(x[1]-x[0]));
cout<<"一次插值结果是:L1="<<L1<<endl;
}
void Calculate2(double &L2)
{
//float L2;
//cout<<"Please enter X:"<<endl;
//cin>>X;
//cout<<"X="<<X<<endl;
L2=(X-x[1])*(X-x[2])*y[0]/((x[0]-x[1])*(x[0]-x[2]))+((X-x[0])*(X-x[2])*
y[1]/((x[1]-x[0])*(x[1]-x[2]))+(X-x[0])*(X-x[1])*y[2]/((x[2]-x[0])*(x[2]-x[1])));
cout<<"二次插值结果是:L2="<<L2<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -