发表于:2004-04-11 19:12:00
楼主
这几天整理以前用过的计算机,发现了以前编过的程序。
摘出一部分,希望可以起到抛砖引玉的作用。
利用泰勒级数的展开实现常用函数的计算。
指数函数
x x x^2 x^3 x^n
e = 1 + —— + —— + —— + ....——
1! 2! 3! n!
满足下条件,结束计算。
x^n
—— < (计算精度/2)
n!
C语言程序:
/* e^x */
#include <stdio.h>
#include <math.h>
float My_exp( float x, float y )
{
int i;
float result, a, b, c, z;
result = 1.0;
i = 1;
a = x;
b = i;
z = y / 2;
while(1){
c = a / b;
if(fabs(c) < z)
break;
result += c;
i++;
a *= x;
b *= i;
}
return result;
}
int main( void )
{
float a1, x = 3.5;
a1 = 1.0;
a1 = My_exp(x, 0.0001);
printf( "exp(x) = %f\n", a1 );
return 0;
}