stack overflow錯誤 |
尚未結案
|
yoyo12345
一般會員 發表:33 回覆:77 積分:22 註冊:2003-03-19 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
yoyo12345
一般會員 發表:33 回覆:77 積分:22 註冊:2003-03-19 發送簡訊給我 |
這個就是算excel裡的函式,轉成delphi
//Result:=Excel.Application.WorksheetFunction.NormSDist(X); Function TFormEWinner.CND(NormSDist:Double):Double;
var
i:integer;
tmp_Const:Double;
Tmp_double,Tmp_double1,Tmp_double2:Double;
ValueArray:array[0..4] of double;
begin
result:=0;
ValueArray[0] := 0.31938153;
ValueArray[1] := -0.356563782;
ValueArray[2] := 1.781477937;
ValueArray[3] := -1.821255978;
ValueArray[4] := 1.330274429;
tmp_Const := 0.2316419;
Tmp_double := 1 / (1 tmp_Const * NormSDist);
Tmp_double1:=0;
for i:=0 to 4 do
Tmp_double1:=Tmp_double1 ValueArray[i]*power(Tmp_double,i 1);
Tmp_double2:=SQRT(1/(2*PI))*EXP(-power(NormSDist,2)/2);
if NormSDist>0 then result:=1-Tmp_double1*Tmp_double2
else result:=1-CND(-NormSDist);
end;
|
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
引言: 這個就是算excel裡的函式,轉成delphi //Result:=Excel.Application.WorksheetFunction.NormSDist(X); Function TFormEWinner.CND(NormSDist:Double):Double; var i:integer; tmp_Const:Double; Tmp_double,Tmp_double1,Tmp_double2:Double; ValueArray:array[0..4] of double; begin result:=0; ValueArray[0] := 0.31938153; ValueArray[1] := -0.356563782; ValueArray[2] := 1.781477937; ValueArray[3] := -1.821255978; ValueArray[4] := 1.330274429; tmp_Const := 0.2316419; Tmp_double := 1 / (1 tmp_Const * NormSDist); Tmp_double1:=0; for i:=0 to 4 do Tmp_double1:=Tmp_double1 ValueArray[i]*power(Tmp_double,i 1); Tmp_double2:=SQRT(1/(2*PI))*EXP(-power(NormSDist,2)/2); if NormSDist>0 then result:=1-Tmp_double1*Tmp_double2 else result:=1-CND(-NormSDist); //^---看了一下,要是傳個0進企不就造成無窮遞迴?! end;想買台TPC..TTAB-B12D |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |