ページ 11

テイラー展開

Posted: 2011年12月20日(火) 19:07
by tm
e^xのテイラー展開を10項まで行うという
課題が出ました
再帰関数を使うのが条件みたいですが
まったく意味が分かりません

何かヒントみたいなものをもらえないでしょうか

今知っているのは
for scanf 再帰関数 参照渡し 値渡しなどです

Re: テイラー展開

Posted: 2011年12月20日(火) 19:22
by 初級者
その問題の数学的な意味は理解されているのでしょうか?

Re: テイラー展開

Posted: 2011年12月20日(火) 19:46
by tm
理解してないですね

Re: テイラー展開

Posted: 2011年12月20日(火) 20:23
by tm
今こんなプログラムを作ってみたのですが
数値が出ません
どうしたらいいでしょうか?
プログラム自体が的外れなのでしょうか?

コード:

#include<stdio.h>
#include<math.h>
double factorial(double n);
int main(void)
{
	double i;
	double c=0,x;
	printf("xを入力\n");
	scanf("%f",&x);
	for(i=0;i<20;i++)
	{

		c+=pow(x,i)/factorial(i);
	}
	printf("e^x=%lf\n",c);
	return 0;
}

double factorial(double n)
{
	double fact;
	if(n==0)
	{
		return 1;
	
	}
	else
	{
		fact=n*factorial(n-1);
	}
	return fact;
}

Re: テイラー展開

Posted: 2011年12月20日(火) 20:37
by non
doubleのscanfにおける書式指定子は%lf で、
printfは%fです。

Re: テイラー展開

Posted: 2011年12月20日(火) 20:43
by tm
ありがとうございました
おかげで出来ました

Re: テイラー展開

Posted: 2011年12月20日(火) 20:46
by non
それなら解決チェックを。
ところで、 for(i=0;i<20;i++)
なのはなぜ?

Re: テイラー展開

Posted: 2011年12月20日(火) 20:52
by tm
間違ってました
そこは10ですね