我遇到了(自己無法解決的)(mathematica 8.0.1.0-)問題。 我有一個矩陣的測量數據,我想選擇其中的一些,然後將其添加。在矩陣中感興趣的區域中選擇數據(使用Mathematica)
爲了更好地解釋我的問題,這裏有一個簡單的例子。該數據可以由矩陣S產生:
S = Table[ -Sin[i/2] - Sin[j/2], {i,20}, {j,20}];
它們可以很好地繪製有:
xmin = N[Min[S]];
xmax = N[Max[S]];
mycolorfun = Function[ Blend[{Blue,Cyan,Green,Yellow,Red},#] ];
和
MatrixPlot[S, PlotRange -> {All,All,All}, AspectRatio -> 1/1,
ColorFunction -> (mycolorfun[ Rescale[ #1{xmin,xmax} ] ]&),
ColorFunctionScaling -> False, MaxPlotPoints -> Automatic,
FrameLabel -> {y,x} ]
然後一個應該得到類似這樣的一個畫面:
現在我想選擇棕色繪製的多邊形內的數據。這些數據應該在最後加起來。
我該怎麼做? 好吧,我可以使用矩形,並通過選擇/猜測良好的開始和結束索引建立一個子矩陣。然後我只需要建立這個子矩陣的總和。但我更喜歡多邊形(更精確的說,如果我們不討論矩陣值與多邊形線交叉的小問題)。如果我可以通過將多邊形「繪製」到矩陣中來直接選擇我感興趣的區域(ROI),我會很喜歡它(沒有更多的時間選擇/猜測矩陣索引)。
有人能幫我解決我的問題嗎?如果它不能用mathematica解決,是否還有其他一些我可以使用的程序?
我會很高興的一些幫助和提示!
需要注意的一點是,代碼塊需要在它們之前有一個空行,所以我爲您解決了這個問題。我還將代碼重新格式化了一些,並隱藏了可點擊文本背後的鏈接以提高可讀性。 – rcollyer
感謝您編輯我的問題!由於我在這裏是新手,所以在編輯時遇到了一些問題。我下次嘗試做得更好。 – partial81
沒問題。你在這裏的新事物,並列出你的問題/答案需要練習。 – rcollyer