2006年03月22日

C言語やC++でカイ2乗分布の密度関数や右側確率を計算

C言語やC++でカイ2乗分布の密度関数や右側確率を計算するために、
ライブラリcephesを使います

http://netlib.org/cephes/cprob.tgz
をとってきて解凍

$ make -f cprob.mak
でlibprob.aを作成

# cp libprob.a /usr/local/lib/
でlibprob.aをLD_LIBRARY_PATHが通っているところにコピー

http://www.moshier.net/cephes-math-28.tar.gz
をとってきて解凍

$ make
でlibmd.aを作成

# cp libmd.a /usr/local/lib/
でlibmd.aをLD_LIBRARY_PATHが通っているところにコピー

これでライブラリのインストールは完了

C++のサンプルファイル
自由度1の場合で、chi-square=2.45より低い確率を計算
---test.cpp---
#include
extern "C" double chdtrc( double, double ) ;
int main()
{
std::cout << chdtrc( 1.0, 2.45 ) << std::endl ;
return 0 ;
}
---

$ g++ test.cpp -lprob -lmd
でコンパイルして

$ ./a.out
0.117525
と確率が計算されます

Linux(Vine3.2)でやりました
cephesには他にもガンマ分布や色々な統計に関する関数がそろっていて便利そう


posted by xi at 21:49 | Comment(0) | TrackBack(2) | コンピュータ
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバック

C言語:配列とアドレス - Styling GARDEN
Excerpt: トラックバックさせてもらいました。 ポインタはC言語の難関だと言われています。ですが、順を追って理解していくと難しいものではありません!! 今回は配列とアドレスの関係について書きました!! ご一読あれ..
Weblog: Styling GARDEN
Tracked: 2006-06-03 23:13

C言語:関数とポインタ - Styling GARDEN
Excerpt: トラックバックさせてもらいました。 関数とポインタについてです。C言語では絶対的に必要になります。ローカル変数が参照できないC言語の関数で、ローカル変数を別の関数で変化させたいときはポインタしかありま..
Weblog: Styling GARDEN
Tracked: 2006-06-10 17:50
×

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