data={{0,5},{1,5},{2,5},{3,6},{4,7},{5,5},{6,3},{7,4},{8,4}, {9,4},{10,4},{11,3},{12,7},{13,5.5},{15,5.5}}; myrange={All,{0.75Min[data[[All,2]]],1.15Max[data[[All,2]]]}}; ListLinePlot[data,PlotStyle->Thickness[0.01],Frame->True,PlotRange->myrange] (* 利用Split找出各個波段 *) p1=Select[Split[test,Abs[#1[[2]]-#2[[2]]]>0.1&],Length@#>1&] ListLinePlot[p1,PlotStyle->Thickness[0.01],Frame->True, PlotRange->myrange] (* 若波段嫌兩筆資料是遞增,則共振點為波段的區域極大值;反之為區域極小值 *) p2=If[#[[2,2]]-#[[1,2]]>0,SortBy[#,Last][[-1]],SortBy[#,Last][[1]]]&/@p1 ListLinePlot[test,PlotStyle->Thickness[0.01],Frame->True, PlotRange->myrange,Epilog->{Red,PointSize[0.05],Point[p2]}]
Mathematica 教學 共振與反共振圖要怎只取共振點?
由 戴忠淵 於 2013年7月19日星期五
下午6:35 發表
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~