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)?这些值因每次模拟而变化。
谁能告诉我如何删除这一点。
谢谢
如果要删除检查点是否在线,请执行以下操作:
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_1
并且yout_1
它只会绘制那些落在线上的点。
PS
不需要括起来x5
和y5
括号,它们已经是一个向量。