rtflsp.c

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

C
44
字号
#include <math.h>#define MAXIT 30float rtflsp(float (*func)(float), float x1, float x2, float xacc){	void nrerror(char error_text[]);	int j;	float fl,fh,xl,xh,swap,dx,del,f,rtf;	fl=(*func)(x1);	fh=(*func)(x2);	if (fl*fh > 0.0) nrerror("Root must be bracketed in rtflsp");	if (fl < 0.0) {		xl=x1;		xh=x2;	} else {		xl=x2;		xh=x1;		swap=fl;		fl=fh;		fh=swap;	}	dx=xh-xl;	for (j=1;j<=MAXIT;j++) {		rtf=xl+dx*fl/(fl-fh);		f=(*func)(rtf);		if (f < 0.0) {			del=xl-rtf;			xl=rtf;			fl=f;		} else {			del=xh-rtf;			xh=rtf;			fh=f;		}		dx=xh-xl;		if (fabs(del) < xacc || f == 0.0) return rtf;	}	nrerror("Maximum number of iterations exceeded in rtflsp");	return 0.0;}#undef MAXIT

⌨️ 快捷键说明

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