(* 產生隨機變數 *) GaussianRandomData[n_Integer,p_,sigma_]:= Table[p+{Re[#],Im[#]}&[RandomReal[NormalDistribution[0,sigma]] E^(I*RandomReal[{0,2\[Pi]}])],{n}]; datapairs=BlockRandom[SeedRandom[1234]; Join[GaussianRandomData[100,{2,1},.3], GaussianRandomData[100,{1,1.5},.2], GaussianRandomData[100,{1,1.1},.4], GaussianRandomData[100,{1.75,1.75},0.1]]]; (* 資料分群 *) cl=FindClusters[datapairs]; (* 計算各樣本點與總體平均的距離,距離越大,點也越大 *) pointdata=Transpose[{{Red,Blue,Green,Brown}, Flatten[{PointSize[EuclideanDistance[Mean@datapairs,#]/50], Point[#]}&/@cl[[#]]]&/@Range[4]}]; Plot[0,{x,Min@datapairs[[All,1]],1.2Max@datapairs[[All,2]]}, AxesOrigin->Mean@datapairs, PlotRange->{{0,1.2Max@datapairs[[All,1]]}, {0,1.2Max@datapairs[[All,2]]}}, Epilog->pointdata]
Mathematica 教學 FindClusters and scatterplot
由 戴忠淵 於 2010年6月30日星期三
下午4:36 發表
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~