看板 Mathematica 關於我們 聯絡資訊
※ 引述《abcd28s (乖小孩)》之銘言: : 魯蛇小弟我想請問一個卡了很久的問題 : 大致上就是我用lostlogplot畫了我的一個table : 然後想要在這張圖片裡面找很多個local maxima : 最好不只找到還可以連線並找到fit的函數XD : 以下是我的程式碼 : Ta0 = Table[{k, n}, {k, ki, kf, dk}]; : 以上是我建立的table : lllp0 = ListLogPlot[Ta0, PlotStyle -> Red] : 然後我將我的table用listlogplot做圖如下 : http://ppt.cc/M6W9 : 然後現在我想要找每個凸凸的local maxima : 想要找到每個peak的座標 : 當然能夠有可以fitting的函數更好 : 試過了一些FindMaximum,Fit,Findfit : 似乎有找到一些像是FindPeaks的指令(網路上) : 但是我的是Mathematica7似乎沒有這個指令QQ : 請教大大們惹 (* test data *) randomwalk=MapIndexed[{#2[[1]],#1+50}&, Accumulate@RandomChoice[{-1,1},100]]; data=randomwalk; ListLinePlot[data,Joined->True,AspectRatio->0.25,ImageSize->750] (* local maximum *) hpeaks[data_]:=Select[Split[data,#1[[2]]<=#2[[2]]&],Length[#]>1&][[All,-1]]; (* local minimum *) lpeaks[data_]:=Select[Split[data,#1[[2]]>#2[[2]]&],Length[#]>1&][[All,-1]]; Show[ListLinePlot[data,Joined->True,AspectRatio->0.25,ImageSize->750, Epilog->{Red,Point@hpeaks[data],Green,Point@lpeaks[data]}], (* data fitting *) Plot[Interpolation[data][x], {x,Min@data[[All,1]],Max@data[[All,1]]},PlotStyle->Pink]] -- 養花種魚數月亮賞星星 http://chungyuandye.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.226.220 ※ 文章網址: http://www.ptt.cc/bbs/Mathematica/M.1415340681.A.650.html
abcd28s: 感謝~~我研究了一個下午大概搞定了!!非常感謝喔~~ 11/09 16:53