2013-03-13 145 views
1

我有一組數據或光譜,用於各種x-y座標。matlab交互式輪廓圖

看起來是這樣的:

x  y  spectrum x    spectrum y 
-14 -18 35.0286000000000 330.643000000000 
-14 -18 33.6069000000000 311.247000000000 
-14 -18 32.1849000000000 251.419000000000 
-14 -18 30.7628000000000 205.673000000000 
-14 -18 29.3404000000000 152.912000000000 
-14 -18 27.9178000000000 144.101000000000 
-14 -18 26.4949000000000 135.292000000000 
-14 -18 25.0719000000000 133.514000000000 
-14 -16 35.0286000000000 353.507000000000 
-14 -16 33.6069000000000 320.039000000000 
-14 -16 32.1849000000000 272.517000000000 
-14 -16 30.7628000000000 198.642000000000 
-14 -16 29.3404000000000 163.458000000000 
-14 -16 27.9178000000000 135.314000000000 
-14 -16 26.4949000000000 147.592000000000 
-14 -16 25.0719000000000 114.190000000000 

等。

我寫了一個程序,採取從每個光譜中的分段的斜率,並作出新的矩陣,看起來像這樣:

x  y  slope 
-14 -18 0.650084924302224 
-14 -16 0.751250946346182 
-14 -14 0.0666371921219543 
-14 -12 0.703160656652351 
-14 -10 1.04017251503861 

等。

然後,我使用[C,h] = contourfm(x,y,z)來製作矩陣中的x,y和z矩陣。

我感興趣的是一個程序,我可以點擊等高線圖並在距離我點擊的地點最近的點拉一個單獨的光譜圖。這在分析我的數據時會非常好。這是遠程可能的嗎?在此先感謝您的幫助!

回答

0

是的,有可能你可能需要建立一個圖形用戶界面,但下面的內容也可能令你滿意。從ginput這樣的功能開始。例如,[x,y] = ginput(n)使您能夠識別當前軸的n個點,並返回x和y列向量中的x和y座標。按回車鍵將在輸入n個點之前終止輸入。然後從這些x,y座標中,使用find來繪製您所擁有的相關數據部分。

+0

謝謝你,ginput函數非常有用。我能夠編寫一個程序來獲取輸入數據,將每個點轉換爲最接近的實際x-y點,並繪製每個點的數據。編程非常差,必須根據地圖的大小和間距進行調整,但它的工作原理!我也能夠爲這個人物添加一個傳奇,但那可能比它值得的更麻煩。我會發布該功能,但它不是很漂亮。 – 2013-03-15 15:07:44