Efficiently calculate distance between moving point and fixed points

Hello,
I have a grid of point coordinates
xval=0:1:5000;
yval=0:1:2000;
zval=1;
[X,Y,Z]=meshgrid(xval,yval,zval);
to those points defined by X,Y,Z and to another point I want to calculate the distances.
mypoint=[500 700 5];
dist=sqrt( (mypoint(1)-X).^2 + (mypoint(2)-Y).^2 + (mypoint(3)-Z).^2 );
This gives me my distances of mypoint to my grid of points. However, mypoint is changing over time. And for each time step I need all distances. I can do this with a simple for loop, but I was wondering if there is a more efficient way if mypoint is changing over time. Thanks

Answers (1)

You can calculate the distance between the points by vectorization.
Here is a link that discusses calculating the distance between two points using vectorization.

Categories

Find more on Function Creation in Help Center and File Exchange

Tags

Asked:

T
T
on 25 Sep 2017

Answered:

on 28 Sep 2017

Community Treasure Hunt

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

Start Hunting!