アフィリエイト広告を利用しています

広告

posted by fanblog

2017年11月19日

exp関数の自作

<PR>






exp()関数の自作


*マクローリンの定理を用いてexp()関数を作っています.


*オリジナルに比べると引数が2~3を超えたあたりから急激に精度が落ちます.


精度を上げるには引数が1以上の時はeを後から掛け算し引数を1以下にする方法などがあります.






double my_exp(double x)
{
int i;
double result = 0;

//ループの回数(ここでは25)を増やせば精度は上がります.
for(i = 1;i <= 25; i++)
{
result += my_pow(x, i) / fact(i);
}

return result + 1;
}

//xのn乗を計算する関数
double my_pow(double x, int n)
{
int i;
double pow_result = 1;

if(n == 0)
return 1;
else
{
for(i = 0;i < n;i++)
{
pow_result *= x;
}
return pow_result;
}
}

//nの階乗を計算する関数
int fact(int n)
{
int i, result = 1;

if(n == 0)
return 1;
else
{
for(i = 1;i <= n;i++)
{
result *= i;
}
return result;
}
}



<PR>





この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/6986258
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
ファン
検索
<< 2021年02月 >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28            
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
月別アーカイブ
プロフィール
日別アーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。