实验2.cpp

来自「牛顿插值法的实现算法」· C++ 代码 · 共 31 行

CPP
31
字号
#include <iostream.h>
#include <math.h>
void main()
{
	int i;
	double x[]={0.25,0.20,0.50,0.57,0.70,0.85,0.93,1.00};
	double y[]={0.778801,0.670320,0.606531,0.565525,0.496585,0.427415,0.394554,0.367879};
	double c[8][8],b[8];//c[][]表示差商,第二维下标表示阶数,b[]表示计算值
	double t,ft;//t、ft — 表示待求插值点、f(t)
	cout<<"请输入待求插值点(在0.25——1.00之间)"<<endl;
	cin>>t;
	for(i=0;i<8;i++)c[i][0]=y[i];
	for(i=1;i<8;i++)
	{
		for(int j=1;j<=i;j++)
		{
			c[i][j]=(c[i][j-1]-c[i-1][j-1])/(x[i]-x[i-j]);
		}
	}
	b[7]=c[7][7];
	for(int k=7;k>=1;k--)
	{
		b[k-1]=c[k-1][k-1]+b[k]*(t-x[k-1]);
	}
	ft=b[0];
	cout<<"利用牛顿插值法求出的结果是:"<<endl;
	cout<<ft<<endl;
}

	

⌨️ 快捷键说明

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