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

📄 splint(计算插值函数在插值点的函数值).cpp

📁 用C++编写的三次养条插值算法
💻 CPP
字号:
void splint(double xa[], double ya[], double y2a[], int n, double& x, double& y)
{
	int klo,khi,k;
	double h,a,b,aaa,bbb;
    klo = 1;
    khi = n;
loop:   if (khi - klo > 1 )
	{
		k = (khi + klo) / 2;
		if (xa[k] > x)
			khi = k;
		else
		{
			klo = k;
		}
           goto loop;
	}
    h = xa[khi] - xa[klo];
    if (h == 0 )
	{
		cout<<"  pause  'bad  xa  input'"<<endl;
		return;
	}
	a = (xa[khi] - x) / h;
	b = (x - xa[klo]) / h;
	aaa = a * ya[klo] + b * ya[khi];
	bbb = (a*a*a - a) * y2a[klo] + (b*b*b - b) * y2a[khi];
	y = aaa + bbb * h*h /6.0;
}

⌨️ 快捷键说明

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