44 lines
816 B
C
44 lines
816 B
C
|
|
/* 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
|