• 締切済み

t分布の逆関数をC言語で求めたい

t分布の逆関数を求めるエクセル関数「TINV」にあたるものを C言語で書くとどのようになりますか? ちょっと調べただけではよく分からなかったのですみませんがどなたか教えてください。

みんなの回答

  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.1

t分布の密度関数は初等関数で表示できますから、 それを数値積分して分布関数の数表を作っておき、 与えられた確率値から表を逆引きして TINV を 求めるのが現実的かと思います。 個々の確率値に対して単発で数値計算をするのは 得策ではないです。 t分布関数の数表を作るための数値積分は、 どんな近似法でもかまわないでしょう。 プログラミングの参考書には、何種類か 具体的なコードが書いてあるはずです。 見つからなければ "Numerical Recipes in C" がオススメかな。技術評論社から和訳が出てます。 表の逆引きは、分布関数の単調性を利用すれば 簡単でしょう。それこそ、プログラミングの 入門的例題だし。

tsuruharu
質問者

お礼

ご回答ありがとうございます。 調べてみます。 基本的にはエクセルのTINV関数がしているのと同じアルゴリズムで 計算できれば良いと考えているのですが、エクセルのTINV関数も ご指摘のように数表を作って逆引きして求めているのでしょうか?

関連するQ&A