add numerical recipes library
This commit is contained in:
43
lib/nr/ansi/examples/xvander.c
Normal file
43
lib/nr/ansi/examples/xvander.c
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
/* Driver for routine vander */
|
||||
|
||||
#include <stdio.h>
|
||||
#define NRANSI
|
||||
#include "nr.h"
|
||||
#include "nrutil.h"
|
||||
|
||||
#define N 5
|
||||
|
||||
int main(void)
|
||||
{
|
||||
int i,j;
|
||||
double sum=0.0,*w,*term;
|
||||
static double x[]={0.0,1.0,1.5,2.0,2.5,3.0};
|
||||
static double q[]={0.0,1.0,1.5,2.0,2.5,3.0};
|
||||
|
||||
w=dvector(1,N);
|
||||
term=dvector(1,N);
|
||||
vander(x,w,q,N);
|
||||
printf("\nSolution vector:\n");
|
||||
for (i=1;i<=N;i++)
|
||||
printf("%7s%1d%2s %12f \n","w[",i,"]=",w[i]);
|
||||
printf("\nTest of solution vector:\n");
|
||||
printf("%14s %11s\n","mtrx*sol'n","original");
|
||||
for (i=1;i<=N;i++) {
|
||||
term[i]=w[i];
|
||||
sum += w[i];
|
||||
}
|
||||
printf("%12.4f %12.4f\n",sum,q[1]);
|
||||
for (i=2;i<=N;i++) {
|
||||
sum=0.0;
|
||||
for (j=1;j<=N;j++) {
|
||||
term[j] *= x[j];
|
||||
sum += term[j];
|
||||
}
|
||||
printf("%12.4f %12.4f\n",sum,q[i]);
|
||||
}
|
||||
free_dvector(term,1,N);
|
||||
free_dvector(w,1,N);
|
||||
return 0;
|
||||
}
|
||||
#undef NRANSI
|
||||
Reference in New Issue
Block a user