#include "cheb.h" void cheb(float c[MAX], int, float, float); extern float func(float); extern double cos(double x); void cheb(float c[MAX], int n, float xa, float xb) { int k, j; float xm, xp, sm; float f[MAX]; xp = (xb + xa) / 2; xm = (xb - xa) / 2; for(k = 1; k <= n; k++) { f[k] = func(xp + xm * (float)cos(PI * (k - 0.5) / n)); } for(j = 0; j <= n-1; j++) { sm = 0.0; for(k = 1; k <= n; k++) { sm = sm + f[k] * (float)cos(PI * (float)j * ((float)k - 0.5) / (float)n); } c[j] = (float)(2.0 / (float)n) * sm; } return; }