Files
2025-02-Numerical/lib/nr/ansi/recipes/quadmx.c
2025-09-12 18:55:25 +09:00

30 lines
504 B
C

#include <math.h>
#define NRANSI
#include "nrutil.h"
#define PI 3.14159265
double x;
void quadmx(float **a, int n)
{
void kermom(double w[], double y, int m);
void wwghts(float wghts[], int n, float h,
void (*kermom)(double [], double ,int));
int j,k;
float h,*wt,xx,cx;
wt=vector(1,n);
h=PI/(n-1);
for (j=1;j<=n;j++) {
x=xx=(j-1)*h;
wwghts(wt,n,h,kermom);
cx=cos(xx);
for (k=1;k<=n;k++) a[j][k]=wt[k]*cx*cos((k-1)*h);
++a[j][j];
}
free_vector(wt,1,n);
}
#undef PI
#undef NRANSI