vander.c

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

C
36
字号
#define NRANSI#include "nrutil.h"void vander(double x[], double w[], double q[], int n){	int i,j,k;	double b,s,t,xx;	double *c;	c=dvector(1,n);	if (n == 1) w[1]=q[1];	else {		for (i=1;i<=n;i++) c[i]=0.0;		c[n] = -x[1];		for (i=2;i<=n;i++) {			xx = -x[i];			for (j=(n+1-i);j<=(n-1);j++) c[j] += xx*c[j+1];			c[n] += xx;		}		for (i=1;i<=n;i++) {			xx=x[i];			t=b=1.0;			s=q[n];			for (k=n;k>=2;k--) {				b=c[k]+xx*b;				s += q[k-1]*b;				t=xx*t+b;			}			w[i]=s/t;		}	}	free_dvector(c,1,n);}#undef NRANSI

⌨️ 快捷键说明

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