2012-07-16 75 views
0
plot([x5],[y5],'-',xout_1(1),yout_1(1),'*',xout_1(2),yout_1(2),'*') 

x5 =[125 -263] 

y5 =[165 -375] 

xout_1 =[135.5049 -127.0045] 

yout_1 =[ 179.6202 -185.7279] 

這是我的程序的場景。
如何從行中刪除點(135.5049,179.6202)?這些值來自每個模擬的變化。
誰能告訴我如何刪除這一點。線點檢查

謝謝如果你想刪除檢查點就行了下降

+0

你是什麼意思_「丟棄」_? MATLAB繪製這兩個點並用一條線連接它們。此刻,如果沒有其中一點你不會在劇情中出現一條線,那麼你會有一個點。也許你可以詳細說明你想要達到什麼目的? – 2012-07-16 11:31:07

+0

對不起,我想刪除不在該行的那一點。我將如何刪除((135.5049,179.6202) – 2012-07-16 11:55:34

回答

1

,這樣做:

slope = (y5(2) - y5(1))/(x5(2) - x5(1)); %# Slope of main line 
thr = 1e-6;         %# Threshold to check points 
idx = (abs((yout_1 - y5(1)) ./ (xout_1 - x5(1)) - slope) < thr) & ... 
    (xout_1 > min(x5) & xout_1 < max(x5)); 

現在idx是具有「1'的邏輯矢量點在哪裏就行了,否則爲'0'。爲了繪製這些點,使用邏輯索引:

plot(x5, y5, '-', xout_1(idx), yout_1(idx), '*') 

這將任何點數的工作,只要你想xout_1yout_1你可以添加儘可能多的點,它會繪製只下跌在線上。

P.S
有在以方括號x5y5沒有必要,他們已經是矢量。

+0

)的星點,在我的情況下,有時候這個點可能會在線。它對於每個模擬都不相同。我將如何做到這一點? – 2012-07-16 12:00:50

+0

是的。想檢查它是否在那一行。如果它在該行okai。否則刪除它 – 2012-07-16 12:02:58

+0

謝謝你......它不是.. – 2012-07-16 12:38:54