Не имея matlab, я не могу проверить свой синтаксис, но это идея:
for i=1:Nint-1
intervaldists(i) = sqrt((p(i+1,1)-p(i,2))^2+(p(i+1,2)-p(i,1))^2+(p(i+1,3)-p(i,3))^2)
end
А именно, найти евклидово расстояние | p_ (i + 1) -p_i | используя sqrt ((x2-x1) ^ 2 + (y2-y1) ^ 2 + (z2-z1) ^ 2)
Вы, вероятно, можете сделать это без l oop, используя векторизованную способность Matlab, например что-то вроде
p_shifted = p[2:]
intervaldists = sqrt(sum((p_shifted-p)^2))
, но вам придется позаботиться о последнем пункте - и я не слишком хорошо помню синтаксис Matlab, поэтому я не уверен, что у меня есть правильное индексирование.