标签:坐标 公式 dsa mes sign single href har int
拉格朗日插值(Lagrange interpolation)是一种多项式插值方法,指插值条件中不出现被插函数导数值,过n+1个样点,满足如下图的插值条件的多项式。也叫做拉格朗日公式。
1 //利用lagrange插值公式 2 #include<iostream> 3 using namespace std; 4 5 double Lx(int i,double x,double* Arr) 6 { 7 double fenzi=1,fenmu=1; 8 for (int k=0;k<4;k++) 9 { 10 if (k==i) 11 continue; 12 fenzi*=x-Arr[k]; 13 fenmu*=Arr[i]-Arr[k]; 14 } 15 return fenzi/fenmu; 16 } 17 18 int main() 19 { 20 double xArr[4]={}; 21 double yArr[4]={}; 22 //输入4个节点坐标 23 cout<<"请依次输入4个节点的坐标:"<<endl; 24 for (int i=0;i<4;i++) 25 cin>>xArr[i]>>yArr[i]; 26 27 //输入要求解的节点的横坐标 28 cout<<"请输入要求解的节点的横坐标:"; 29 double x; 30 cin>>x; 31 double y=0; 32 for (int i=0;i<4;i++) 33 y+=Lx(i,x,xArr)*yArr[i]; 34 printf("x=%lf时,y=%lf\n",x,y); 35 36 //分界,下面为已知y求x 37 cout<<"请输入要求解的节点的纵坐标:"; 38 cin>>y; 39 x=0; 40 for (int i=0;i<4;i++) 41 x+=Lx(i,y,yArr)*xArr[i]; 42 printf("y=%lf时,x=%lf\n",y,x); 43 44 system("pause"); 45 return 0; 46 }
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com
标签:坐标 公式 dsa mes sign single href har int
原文地址:http://www.cnblogs.com/Amedeo/p/7744637.html