没有合适的资源?快使用搜索试试~ 我知道了~
三种插值方法的计算机实现
需积分: 9 39 下载量 172 浏览量
2008-12-28
16:11:27
上传
评论 1
收藏 4KB TXT 举报
温馨提示
试读
6页
分段线性插值法 分段二次插值法 全区间上的拉格朗日插值法 三种插值算法的计算机实现,采用c编写
资源推荐
资源详情
资源评论
void main()
{
cout<<" ***************插值法******************"<<endl;
cout<<"请选择您要完成的功能:"<<endl;
cout<<"<0>.退出 <1>.分段线性插值法 <2>.分段二次插值法 <3>.全区间上的拉格朗日插值法"<<endl;
int choice;
cin>>choice;
int number,a;
while(choice)
{
cout<<"请问您要输入几组数据?";
cin>>number;
cout<<"请输入您的数据:"<<endl;
float *px=new float[number];
float *py=new float[number];
for(a=0;a<number;a++)
cout<<"x"<<a+1<<" ";
cout<<endl;
for(a=0;a<number;a++)
cin>>px[a];
for(a=0;a<number;a++)
cout<<"y"<<a+1<<" ";
cout<<endl;
for(a=0;a<number;a++)
cin>>py[a];
switch(choice)
{
case 1: linearity(px,py,number);break;
case 2: squared(px,py,number);break;
case 3: lagrange(px,py,number);break;
{
cout<<" ***************插值法******************"<<endl;
cout<<"请选择您要完成的功能:"<<endl;
cout<<"<0>.退出 <1>.分段线性插值法 <2>.分段二次插值法 <3>.全区间上的拉格朗日插值法"<<endl;
int choice;
cin>>choice;
int number,a;
while(choice)
{
cout<<"请问您要输入几组数据?";
cin>>number;
cout<<"请输入您的数据:"<<endl;
float *px=new float[number];
float *py=new float[number];
for(a=0;a<number;a++)
cout<<"x"<<a+1<<" ";
cout<<endl;
for(a=0;a<number;a++)
cin>>px[a];
for(a=0;a<number;a++)
cout<<"y"<<a+1<<" ";
cout<<endl;
for(a=0;a<number;a++)
cin>>py[a];
switch(choice)
{
case 1: linearity(px,py,number);break;
case 2: squared(px,py,number);break;
case 3: lagrange(px,py,number);break;
default: cout<<"您的输入有误,请重试!"<<endl;
}
cout<<"继续吗?"<<endl
<<"<0>.退出 <1>.分段线性插值法 <2>.分段二次插值法 <3>.全区间上的拉格朗日插值法"<<endl;
cin>>choice;
delete px,py;
}
}
void linearity(float *px,float *py,int number)
{
float x,x0,x1,y0,y1,f;
int a;
cout<<"请输入您要计算的x的值:";
cin>>x;
float *pa=new float[number];
for(a=0;a<number;a++)
{
pa[a]=px[a]-x;
if(pa[a]<0)
pa[a]=-pa[a];
}
float *p=new float[number];
for(a=0;a<number;a++)
p[a]=pa[a];
float temp;
for(int pass=1;pass<number;pass++)
{
}
cout<<"继续吗?"<<endl
<<"<0>.退出 <1>.分段线性插值法 <2>.分段二次插值法 <3>.全区间上的拉格朗日插值法"<<endl;
cin>>choice;
delete px,py;
}
}
void linearity(float *px,float *py,int number)
{
float x,x0,x1,y0,y1,f;
int a;
cout<<"请输入您要计算的x的值:";
cin>>x;
float *pa=new float[number];
for(a=0;a<number;a++)
{
pa[a]=px[a]-x;
if(pa[a]<0)
pa[a]=-pa[a];
}
float *p=new float[number];
for(a=0;a<number;a++)
p[a]=pa[a];
float temp;
for(int pass=1;pass<number;pass++)
{
剩余5页未读,继续阅读
资源评论
stonepgp
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功