xratlsq.c

来自「< C语言数值算法程序大全>>配套程序」· C语言 代码 · 共 40 行

C
40
字号
/* Driver for routine ratlsq */

#include <stdio.h>
#include <math.h>
#include "nr.h"
#include "nrutil.h"

#define NMAX 100

double fn(t)
double t;
{
	return atan(t);
}

main()
{
	int j,kk,mm;
	double a,b,*cof,dev,eee,fit,xs;

	cof=dvector(0,NMAX);
	for (;;) {
		printf("enter a,b,mm,kk\n");
		if (scanf("%lf %lf %d %d",&a,&b,&mm,&kk) == EOF) break;
		ratlsq(fn,a,b,mm,kk,cof,&dev);
		for (j=0;j<=mm+kk;j++) printf("cof(%3d)=%27.15e\n",j,cof[j]);
		printf("maximum absolute deviation= %12.6f\n",dev);
		printf("    x        error        exact\n");
		printf("--------- ------------ ---------\n");
		for (j=1;j<=50;j++) {
			xs=a+(b-a)*(j-1.0)/49.0;
			fit=ratval(xs,cof,mm,kk);
			eee=fn(xs);
			printf("%10.5f %15.7e %15.7e\n",xs,fit-eee,eee);
		}
	}
	free_dvector(cof,0,NMAX);
	return 0;
}

⌨️ 快捷键说明

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