詢問直方圖的屬性 |
尚未結案
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
我的程式碼 //直方圖
with HtBar.GetVertAxis do
begin
AutomaticMinimum := false;
Minimum := 0.0;
end;
HtData:=TVec.Create;
tmpMtx := TMtx.Create;
X := TVec.Create;
XDense := TVec.Create;
Y := TVec.Create;
Bell := TVec.Create;
try
{ load prepared data }
try
tmpMtx.LoadFromFile('Ht.Mtx');
HtData.CopyMtx(tmpMtx);
Histogram(HtData,13,Y,X,true);
// get values for Bell curve
Mean := HtData.Mean;
StdDev := HtData.StdDev(Mean);
// 200 calc points
XDense.Length := 500;
XDense.Ramp(0.0,(X.Max-0.0)*0.005);
NormalPDF(XDense,Mean,StdDev,Bell);
With HtBar.GetHorizAxis do
begin
Automatic := false;
SetMinMax(HtData.Min - 10, HtData.Max 10);
end;
DrawValues(X,Y,HtBar,false);
DrawValues(XDense,Bell,HtLine,false);
ChartTool1.Value := X.Min 1;
ChartTool2.Value := X.Max - 1;
HtRecalculate;
finally
tmpMtx.Destroy;
X.Destroy;
XDense.Destroy;
Bell.Destroy;
Y.Destroy;
end;
except
end; // ■繪製直方圖
procedure TSystemSet.HtRecalculate;
var LB, UB: TSample;
begin
LB := ChartTool1.Value;
UB := ChartTool2.Value;
QCCapIndexes(HtData,LB,UB,p,CP,CPK,CPConfInt,CPKConfInt, Alpha);
end;
|
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
問題可能在於組數,調整一下你的組數
Histogram(HtData,13,Y,X,true);
13->? "資料"推算出->"組距"再算出->"組界"次數劃記
依照你的資料某些組界會沒有資料而造成次數0
觀察X,Y的Vec資料就可以得知 我的範例如下
procedure TForm1.Button2Click(Sender: TObject); var I: Integer; Data,Bins,Freq:TVec; Mean,StdDev:Double; k:Integer;//組數 begin CreateIt(Data);//樣本資料 CreateIt(Bins);//組中距 CreateIt(Freq);//次數分配 try Data.Size(15); {for I := 1 to 100 do // Iterate begin Data.Values[I]:=I; end; // for } k:=5; Data.SetIt([4,4,4,5,5,5,5,5,5,6,6,6,7,7,7]); Histogram(Data,k,Freq,Bins,true); //Histogram(Data,Bins,Freq); Mean := Data.Mean; StdDev := Data.StdDev(Mean); With HtBar.GetHorizAxis do begin Automatic := false; SetMinMax(Data.Min -1, Data.Max 1); end; DrawValues(Bins,Freq,HtBar,False); finally // wrap up FreeIt(Data); FreeIt(Bins); FreeIt(Freq); end; // try/finally end; |
seedbcc
高階會員 發表:232 回覆:272 積分:105 註冊:2003-12-10 發送簡訊給我 |
|
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
那樣的分佈曲線是常態分配沒錯啊..
如果你的曲線是要跟直方圖有一樣的偏態..
那就不是常態分配了.. 請參考下列網址
http://exploringdata.cqu.edu.au/histogrm.htm
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |