Ich habe 2 Vektoren pos_x
und pos_y
die 1xn Form haben. Beide dieser Vektoren haben auch -1 (keine Positionsdaten) in ihnen. Ich möchte den Abstand zwischen aufeinanderfolgenden Punkten berechnen. Hier ist der Code, den ich zu tun mit, dass:Finden Sie den Abstand zwischen Koordinatenpunkten in der Liste zusammen mit fehlenden Werten
distance = [-1];
for i=2:length(pos_x)
if pos_x(i-1)==-1 || pos_x(i)==-1
distance = [distance -1];
elseif (pos_x(i-1)~=-1) || (pos_x(i)~=-1)
distance = [distance sqrt((pos_x(i)-pos_x(i-1))^2 + (pos_y(i)-pos_y(i-1))^2)];
end
end
Bei einem gegebenen Eingangs-Array: pos_x=[1 2 -1 3 4 -1 5]; and pos_y=[1 2 -1 3 4 -1 5];
, erhalte ich die folgende Ausgabe: [-1 1.414 -1 -1 1.414 -1 -1]
während ich die folgende Ausgabe will: [-1 1.414 -1 1.414 1.414 -1 1.414]
Wie kann die Schleife geändert, um so eine Änderung unterzubringen?