本文主要是介绍学习笔记:用c语言编写泰勒展开公式myexp()实现math.h.数学函数库中的exp()函数。并与exp()函数做比较。精度相同。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习笔记:用c语言编写泰勒展开公式myexp()实现math.h.数学函数库中的exp()函数。并与exp()函数做比较。精度相同。
#include <stdio.h>
#include <math.h>
double myexp(double x){int i,k,m,t;int xm=(int)x; double sum;double e ;double ef;double z ;double sub=x-xm;m=1; //阶乘算法分母e=1.0; //e的xmef=1.0; t=10; //算法精度z=1; //分子初始化sum=1;
// printf("x=%f\n",x);
// printf("sub=%f\n",sub);if (xm<0) { //判断xm是否大于0?xm=(-xm); for(k=0;k<xm;k++){ef*=2.718281;}e/=ef;} else { for(k=0;k<xm;k++){e*=2.718281;} }
// printf("e=%f\n",e);
// printf("xm=%d\n",xm);for(i=1;i<t;i++){m*=i; z*=sub; sum+=z/m;}return sum*e;
}int main(void)
{double a;double b;double c;do {printf("Input a double data:\n");scanf_s("%lf",&a);printf("Just input a data:%f\n",a);b=exp(a);c=myexp(a);printf("The result of exp() funtion is: %f\n",b);printf("The result of myexp() funtion is: %f\n\n",c); } while(1);return (0);}
我的运行结果:
(原作者已无法联系,如不可转载,本人会立即删除)
转载于:https://blog.51cto.com/lifj07/162952
这篇关于学习笔记:用c语言编写泰勒展开公式myexp()实现math.h.数学函数库中的exp()函数。并与exp()函数做比较。精度相同。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!