C言語関係掲示板

過去ログ

No.496.テーラー展開を用いたsinの値

[戻る] [ホームページ]
No.3676

テーラ展開
投稿者---元田中(2002/12/02 13:35:01)


てーらー展開を用いたsinの値を求めるプログラムを教えてください

No.3686

Re:テーラ展開
投稿者---かずま(2002/12/02 20:19:20)


> てーらー展開を用いたsinの値を求めるプログラムを教えてください

その前に、テーラー展開とは何かを説明してください。
#include <math.h>

/*  sin x = x - x^3/3! + x^5/5! - x^7/7! + ...  */

#define PI  3.141592653589793238

double Sin(double x)
{
    double y, t;  int i, neg = 0;

    if (x < 0) { x = -x; neg = 1; }
    x = fmod(x, 2*PI);
    if (x > PI) { x -= PI; net = 1; }
    if (x > PI/2) x = PI - x;
    y = t = x;
    for (i = 3; fabs(t) > 1e-15; i += 2)
        y += t = -t * x * x / ((i-1) * i);
    return neg ? -y : y;
}


No.3690

Re:テーラ展開
投稿者---かずま(2002/12/02 20:45:38)


>   if (x > PI) { x -= PI; net = 1; }

訂正です。 if (x > PI) { x -= PI; neg = !neg; }