📄 z.cpp
字号:
#include "stdio.h"
float czl(int n,float x1,float *px,float *py);
void main(void)
{
float x1,y1;
int n;
float *p1,*p2;
float x[10]={1,2,3,4,5,6,7};
float y[10]={1,1.414214,1.732051,2,2.236068,2.449490,2.645751};
printf("Input numbers:x1 n=?\n");
scanf("%f%d",&x1,&n);
p1=x;
p2=y;
y1=czl(n,x1,p1,p2);
printf("y1=%f\n",y1);
}
float czl(int n,float x1,float *px,float *py)
{
int i,j;
float x[10],y[10],t,y1;
y1=0.0;
for(i=0;i<n;i++,px++,py++)
{
x[i]=*px;
y[i]=*py;
}
for(i=0;i<n;i++)
{
t=1.0;
for(j=0;j<n;j++)
if(i!=j) t=t*(x1-x[j])/(x[i]-x[j]);
y1=y1+t*y[i];
}
return(y1);
}
//拉格朗日插值
//x[10],y[10]--存放函数自变量值和函数值的单元
//y0,y1--插值结点值及其对应的函数值
//n--插值多项式的次数
//t--中间单元,存放Li(xj)值的单元
//注意次数问题,一定不要超过9次
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -