泰勒公式求极限c语言switch,泰勒公式Ç

我有简单的代码为泰勒定理cosh()功能。泰勒公式Ç

我试图抓住一个错误 - 结果有时接近真实的答案。

如何正确地做到这一点?

当我开始是0,末是5,细分是5它给了很好的效果,但是当我把5开始和10结束,结果是远离预期值。

#include

#include

int poww(float number, int a)

{

float result = 1.0;

int i;

if(a != 0);

{

for(i = 0; i < a; i++) {

result = result * number;

}

}

return result;

}

int factorial(int n)

{

switch (n) {

case 0:

return 1;

break;

default:

return n * factorial(n-1);

}

}

void main()

{

puts("Enter start: ");

float start;

scanf("%f", &start);

puts("\nEnter end: ");

float end;

scanf("%f", &end);

puts("\nSubintervals:");

int subinterval;

scanf("%d", &subinterval);

float h = (end - start)/(float)subinterval;

printf("h is : %3.2f \n", h);

double x, result, temp;

int n;

for(x = start; x <= end; x += h) {

result = 0;

for(n = 0 ; ; n++) {

temp = poww(x, 2 * n)/(factorial(2 * n) * 1.0);

if(temp < 0.00001) {

break;

} else {

result = result + temp;

printf("X = %f temp = %f, result = %f\n", x, temp, result);

}

}

printf("X = %f, result = %3.2f, cosH = %3.2f\n\n", x, result, cosh(x));

}

puts("Press any key...");

getchar();

}

解决问题:

函数返回一个整数,而不是双,我也改为每浮动翻番。

2015-02-17

KurdTt-

+0

你为什么要打印exp的结果呢? –

2015-02-17 22:54:18

+0

预期结果和实际结果是什么? –

2015-02-17 22:54:54

+0

“结果有时会接近真实的答案” - 这不是你想要的吗?你希望结果远离实际答案吗? –

2015-02-17 22:56:44

你可能感兴趣的:(泰勒公式求极限c语言switch,泰勒公式Ç)