question about euclidean distance.

1 次查看(过去 30 天)
I want to find a function which can calculate the 3 dimension euclidean distance.
I have 9 arrays: Dx; Vx; ax; Dy; Vy; ay; Dz; Vz; az. the size of 9 arrays are the same.each array is 1*100000
the start point x0 =(Dx(1) Dy(1) Dz(1)) = (100 150 125)
How can I creat a function/script to run the following function:
x = Dx + Vx*t + 1/2*ax*t^2;
y = Dy + Vy*t + 1/2*ay*t^2;
z = Dz + Vz*t + 1/2*az*t^2;
t = 2; % it is fixed
L = ((x(n)-x(n-1))^2+(y(n)-y(n-1))^2+(z(n)-z(n-1))^2)^(1/2);
Thanks for your time and helping. :D

采纳的回答

Image Analyst
Image Analyst 2016-2-11
This will do those equations:
function L = CalcDistance()
Dx = rand(1,100000);
Dy = rand(1,100000);
Dz = rand(1,100000);
Vx = rand(1,100000);
Vy = rand(1,100000);
Vz = rand(1,100000);
ax = rand(1,100000);
ay = rand(1,100000);
az = rand(1,100000);
t = 2; % it is fixed
x = Dx + Vx*t + 1/2*ax*t^2;
y = Dy + Vy*t + 1/2*ay*t^2;
z = Dz + Vz*t + 1/2*az*t^2;
dx = diff(x);
dy = diff(y);
dz = diff(z);
L = sqrt(dx.^2+ dy.^2+ dz.^2);
Of course you would not use rand(), you'd use the actual arrays, wherever you got them.
  4 个评论
Image Analyst
Image Analyst 2016-2-11
You don't need x0. It's already in your D arrays at the first elements, so it's already taken into account in your L.
Cheng Kang
Cheng Kang 2016-2-11
编辑:Cheng Kang 2016-2-11
Thanks for your helping, my question is solved.
Have a nice day! :D
Kang

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by