【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《mathmatic源程序代码》,欢迎阅读!
Lagrame插值
// 程序中函数为 x*x-4.213 // 输入N应该在0~20之间 #include #include class lagrange {
public:
float Y[20]; int X[20]; print() {
cout<<"本程序中函数为 x*x-4.213"<
cout<<"K的值为0到20"<以下测试本程序"< int i,j=10;
cout<<"参考数值如下:"< for(i=0;i<20;i++)
cout<<"X"< cout< };
float F(float x)//方程函数 x*x-4.213 {
float temp;
temp=x*x-4.213; return temp; };
float Ready()//吧0~20代入函数,计算好0~20的值 {
int i=0,j=0;
for(i=0;i<20;i++) X[i]=i;
for(j=0;j<20;j++) Y[j]=F(j); return 0; };
Acc()//主计算程序 {
float N,i,j,ans, method,esp; int x,y;
cout<<"输入N的值:"; cin>>N;
cout<<"输入ζ的值:"; cin>>esp;
if(N<1)//开始判断使用哪两个点做插值
{x=0;y=1;} if(N>19)
{x=19;y=20;} else{
for(i=0;i=20;i++) {
if( (i-N>=-1) && (i-N<0) ) {x=i;y=i+1;} }
}//下面为计算出N的值
ans=( Y[x]*( (N-X[y])/(X[x]-X[y]) ) + Y[y]*( (N-X[x])/(X[y]-X[x]) ) cout<<"L("<
method=esp/2*(N-X[x])*(N-X[y]);//计算误差值 cout<<"R("< }; };
main() {
char a; lagrange t; t.print(); t.Ready(); do{
t.Acc();
cout<重新输入?(y/n)"; cin>>a; }while(a=='y'); if(a=='n')
cout<<"ByeBye"< }
Lagrame插值
// 程序中函数为 x*x-4.213 // 输入N应该在0~20之间 #include #include class lagrange {
public: float Y[20]; int X[20]; print()
);
{ cout<<"本程序中函数为 x*x-4.213"< cout<<"K的值为0到20"<以下测试本程序"< int i,j=10; cout<<"参考数值如下:"< for(i=0;i<20;i++) cout<<"X"< cout< };
float F(float x)//方程函数 x*x-4.213 { float temp; temp=x*x-4.213; return temp; };
float Ready()//吧0~20代入函数,计算好0~20的值
本文来源:https://www.wddqxz.cn/6dbc330e79563c1ec5da7109.html