プロが教えるわが家の防犯対策術!

誤差関数erfと相補誤差関数erfc がライブラリになく
プログラムが組めなくて困っています。
どこかにソースがうpされているとか関数のソースを持っている方とかヘッダファイルを提供してくださる方、お願いします。

A 回答 (5件)

「C言語による最新アルゴリズム事典」


(ISBN4-87408-414-1)
のpp227-230にigamma.cとしてソースがあります。
サポートページからソースはダウンロードできますが、
この手のアルゴリズム本はプログラマには必須です。

TO 運営スタッフの方
この本に「プログラムは自由にお使いいただいてかまわない」
とあるので、ここに紹介しました。
問題があれば削除してください。

参考URL:http://oku.edu.mie-u.ac.jp/~okumura/algo/
    • good
    • 0

erfもerfcもC99から標準規格に導入された関数です。

したがって、C++やC95以前の処理系ではサポートしていなくても仕方ありません。

これらのソースはいくつか公開されていますが、Newlib(http://sources.redhat.com/newlib/)またはMinGW Runtime(http://sourceforge.net/projects/mingw/)のものが手っ取り早いかと思います。

なお、C99ではerfやerfcの複素数版(cerfおよびcerfc)は任意実装ですので、必ずしもサポートされるわけではありません。(つまり、complex.hやtgmath.hを探してもない可能性があります)
    • good
    • 0

math.h (C++ なら cmath) で定義されているような気がします.

この回答への補足

math.hでコンパイルするとエラーがでたので、math.hにはありません。
cmathを使う場合
#include<cmath>
でよろしいのでしょうか?

補足日時:2005/07/14 20:44
    • good
    • 0

ANSI C に対応している (hosted な) 処理系なら erf とか erfc は持っていないといけないんですけど, どん

な処理系 (コンパイラなど) を使われているんでしょうか?

この回答への補足

VC6++です。
今日いろいろ調べてみたら
complex.hという新標準ヘッダファイルにあるようなのですが、
#include<complex>//.hがいらない
のように使うということを知りました、いままで、complex.hでつかっていてエラーが出ていたので、
これで上手くいくことを願います。

補足日時:2005/07/14 16:36
    • good
    • 0

MATLABを持ってない場合は、Scilabで代用できると思います。


フランス産ですが、自由に配布、使用できるライセンスで、
日本語の資料もあります。

Scilabには erf(),erfc(),erfcx()も含まれています。
UNIX,Windows,MACで動作します。

参考URL:http://www.geocities.jp/rui_hirokawa/scilab/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!