2012-03-05 11 views
0

私はプログラミングの初心者です。私は宿題のためにerror functionを実装することに問題があります。私のerf(x)は、0から2.0までのxの値に対して正常に動作しますが、それ以上の値では機能しません。適切な値の表はhereです。オクターブでのエラー機能の実装

function y = erf (z) 
    konst = 2/(pi^0.5); 
    vsota=0; 

    n=0; 
    while n <= 500; 
     vsota = vsota + ((-1)^n)*(z^(2*n+1))/(factorial(n)*(2*n+1)); 
     n=n+1; 
    end 
    y=konst*vsota; 
end 

私は唯一の希望です!

+0

エラー機能を内蔵しているだけでなく、エラー機能が実装されているはずですか? http://octave.sourceforge.net/octave/function/erf.html – Dave

+0

はい、実際には、エラー関数の3つの実装を比較して比較する必要があります。実装の3つの異なる式は[**ここ**]です( http://imageshack.us/photo/my-images/835/enacbepic.png/) 私は問題がありません。 1(OPに記述されています)と2号 - (2番目の方程式に必要な二重階乗を得る方法がわかりません - 仕事のその部分に組み込み関数を使うことができますね) T_T) –

答えて

0

多分、オクターブは大きい数字のfactorial()を評価するのに問題があります。私はn <= 170を使ってPythonで良い結果を得ました。

関連する問題