hypser.c

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

C
35
字号
#include "complex.h"#define ONE Complex(1.0,0.0)void hypser(fcomplex a, fcomplex b, fcomplex c, fcomplex z, fcomplex *series,	fcomplex *deriv){	void nrerror(char error_text[]);	int n;	fcomplex aa,bb,cc,fac,temp;	deriv->r=0.0;	deriv->i=0.0;	fac=Complex(1.0,0.0);	temp=fac;	aa=a;	bb=b;	cc=c;	for (n=1;n<=1000;n++) {		fac=Cmul(fac,Cdiv(Cmul(aa,bb),cc));		deriv->r+=fac.r;		deriv->i+=fac.i;		fac=Cmul(fac,RCmul(1.0/n,z));		*series=Cadd(temp,fac);		if (series->r == temp.r && series->i == temp.i) return;		temp= *series;		aa=Cadd(aa,ONE);		bb=Cadd(bb,ONE);		cc=Cadd(cc,ONE);	}	nrerror("convergence failure in hypser");}#undef ONE

⌨️ 快捷键说明

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