Re: [問題] 如何抓出等高線圖上的資料點?已回收

看板MATLAB作者時間16年前 (2010/01/04 20:28), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《hjbb (hjbb)》之銘言: : 想請問板上各位先進 : 就是我用contour指令畫出一個複雜函數的等高線圖之後 : 我希望能把它特定的高度線上資料點抓出 : 在板上有爬文過 : 有看到之前有人問類似的問題 但仍沒有答案 : 所以只好再提出來 詢問各位大大 : P.S 我在網路上有查到簡體網站有針對這問題作回答 : 如何得到contour线上的坐标点? : lcount=5; : [c,h]=contour(peaks,lcount); : x=get(h,'xdata'); : y=get(h,'ydata'); : 这里得到的x和y都是cell数组,用x{1}/y{1}来得到每条线上的坐标对, : 注意,每条线的最后一个数据是NaN : http://bbs.dartmouth.edu/~fangq/MATH/FAQ/faq.html#2.18 : 以上是該網站的回答 : 但是我用類似的方法去試一個簡單函數 : 但是出來的X Y 座標不是資料點的座標 : 而且也不是像網站上寫的是cell 數組 (我們這邊好像叫異質陣列cell array) : 所以小弟也不知道該怎麼辦了 我剛剛試了一下 上述方法的'xdata'和'ydata'是指畫這個圖的X值和Y值 如果要某個數值的X、Y座標 應該是要用'contourmatrix'這個參數 以下是我測試的方法 [c h] = contour(peaks,[5 5]) ; xy = get(h,'contourmatrix') ; figure plot(xy(1,2:end),xy(2,2:end)) ; axis([1 49 1 49]) 畫出來兩張圖長得一樣 xy的第一行就是等值線等於5的X值 第二行為Y值 但我不知道第一列的那個點是什麼 只知道第一列去掉圖才會一樣 希望有回答到你的問題 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.64.216

01/07 23:33, , 1F
大感恩 來試試看 多謝幫忙~~~~~
01/07 23:33, 1F
文章代碼(AID): #1BGTxnDI (MATLAB)
文章代碼(AID): #1BGTxnDI (MATLAB)