⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interpolation.h

📁 一元三点拉格朗日插值法计算实验结果等
💻 H
字号:
float Compl_Lagr2(int n,float * NodeX,float * NodeY,float x)
//int    n;       /*Total Number for Insert*/
//double *NodeX;  /*Node Value for Insert*/
//double *Nodey;  /*Function Value On Node for Insert */
//double  x;      /*Insert Point */
{

	int i,j,k;
	float y,tmp;
	if(x>=(NodeX[n-3]+NodeX[n-2])/2.0)
	{
		i=n-3;
	}
	else
	{
		i=0;
		while(x>=(NodeX[i+1]+NodeX[i+2])/2.0)++i;
	}
	y=0.0;
	for(j=i;j<=i+2;++j)
	{
		tmp=1.0;
		for(k=i;k<=i+2;++k)
		{
			if(j!=k)
			tmp *=(x-NodeX[k])/(NodeX[j]-NodeX[k]);
		}

		y+=tmp * NodeY[j];

	}

	return y;
}

/*int DataLOad_1(char * Fname,double * x,double * y)
{

	int   i,n;
	FILE  *fp;
	fp=fopen(Fname,"r");
	fscanf(fp,"%d",&n);
	for(i=0;i<n;++i)
	{
		fscanf(fp,"%lf%lf",&y[i]);
	}
	fclose(fp);
	return n;
}*/
/*main()
{
	int i;
	double y0;
	double x0[4]={0.0,0.15,0.30,0.45};
	double x[6]={0.0,0.1,0.195,0.3,0.401,0.5};
	double y[6]={0.39894,0.39695,0.39142,0.38138,0.36812,0.35206};
	

	for(i=0;i<4;++i)
	{
		y0=Compl_Lagr2(6,x,y,x0[i]);
		printf("x0=%7.5lf   y0=%7.5lf\n",x0[i],y0);
	}
	printf("\n");
}*/




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -