ページ 1 / 1
テイラー展開
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ですね