2017年11月19日
cos関数の自作
<PR>



今回はC言語のmath.hライブラリのsin関数の自作ソースコードを
載せたいと思います。
<PR>





cos()関数の自作
今回はC言語のmath.hライブラリのsin関数の自作ソースコードを
載せたいと思います。
*マクローリンの定理を用いてsin()関数を作っています.
*オリジナルに比べると引数が2~3を超えたあたりから急激に精度が落ちます.
*精度を上げるにはcos(2x)=2cos^2(x)-1とループ文を使う方法があります。
double my_cos(double x)
{
double result1, result2, result;
int n;
result1 = 0;
result2 = 0;
for(n = 1;n <= 5;n++)
{
result1 += my_pow(x, 4 * n - 2) / fact(4 * n - 2);
}
for(n = 1; n <= 5;n++)
{
result2 += my_pow(x, 4 * n) / fact(4 * n);
}
result = 1 - result1 + result2;
return result;
}
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;
}
}
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>


【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6986214
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック