chebpc.cpp

来自「这是数学计算上常用的计算方法」· C++ 代码 · 共 26 行

CPP
26
字号
#include "nr.h"

void NR::chebpc(Vec_I_DP &c, Vec_O_DP &d)
{
	int k,j;
	DP sv;

	int n=c.size();
	Vec_DP dd(n);
	for (j=0;j<n;j++) d[j]=dd[j]=0.0;
	d[0]=c[n-1];
	for (j=n-2;j>0;j--) {
		for (k=n-j;k>0;k--) {
			sv=d[k];
			d[k]=2.0*d[k-1]-dd[k];
			dd[k]=sv;
		}
		sv=d[0];
		d[0] = -dd[0]+c[j];
		dd[0]=sv;
	}
	for (j=n-1;j>0;j--)
		d[j]=d[j-1]-dd[j];
	d[0] = -dd[0]+0.5*c[0];
}

⌨️ 快捷键说明

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