📄 朗格朗日.cpp
字号:
#include<iostream.h>
void main()
{
int n;
float m,js,x[20],y[20];
cout<<"********************************************************"<<endl;
cout<<"* 这是分段线性Lagrange插值多项式求线性函数值的近似值 *"<<endl;
cout<<"********************************************************"<<endl<<endl;
cout<<"请输入插值节点个数n:";
cin>>n;
cout<<"请输入已知插值节点信息:"<<endl;
for(int i=1;i<=n;i++)
{
cout<<"第"<<i<<"个插值节点 ";
cout<<"x["<<i<<"]=";
cin>>x[i];
cout<<"第"<<i<<"个插值节点函数值 ";
cout<<"y["<<i<<"]=";
cin>>y[i];
}
{
cout<<"请输入插值点m:";
cin>>m;
if(m<=x[1])
js=y[1]*(m-x[2])/(x[1]-x[2])+y[2]*(m-x[1])/(x[2]-x[1]);
else if(m>=x[n])
js=y[n-1]*(m-x[n])/(x[n-1]-x[n])+y[n]*(m-x[n-1])/(x[n]-x[n-1]);
else
for(i=1;i<n;i++)
if((m-x[i])*(m-x[i+1])<0)
js=y[i]*(m-x[i+1])/(x[i]-x[i+1])+y[i+1]*(m-x[i])/(x[i+1]-x[i]);
cout<<"近似值为:"<<js<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -