chebft.c

来自「适合大型数值计算代码 现在网络上已经找不到了 购买需要20$」· C语言 代码 · 共 30 行

C
30
字号
#include <math.h>#define NRANSI#include "nrutil.h"#define PI 3.141592653589793void chebft(float a, float b, float c[], int n, float (*func)(float)){	int k,j;	float fac,bpa,bma,*f;	f=vector(0,n-1);	bma=0.5*(b-a);	bpa=0.5*(b+a);	for (k=0;k<n;k++) {		float y=cos(PI*(k+0.5)/n);		f[k]=(*func)(y*bma+bpa);	}	fac=2.0/n;	for (j=0;j<n;j++) {		double sum=0.0;		for (k=0;k<n;k++)			sum += f[k]*cos(PI*j*(k+0.5)/n);		c[j]=fac*sum;	}	free_vector(f,0,n-1);}#undef PI#undef NRANSI

⌨️ 快捷键说明

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