I want to extract a circle of values from a meshgrid

25 views (last 30 days)
I have a 2D meshgrid with dimensions of distance x distance. I want to know the values at a fixed radius from the center.

Accepted Answer

Ameer Hamza
Ameer Hamza on 22 May 2018
Edited: Ameer Hamza on 22 May 2018
What do you need value from mesh grid, you can calculate the points on the perimeter of the circles using pol2cart(). For example
r = 1
[x,y] = pol2cart(linspace(0, 2*pi, 100), r)
will give you x, y coordinates of points in the circle of radius r.
Edit: If you want to find the points from the mesh grid, then the following code can help
x = -5:1:5;
y = -5:1:5;
[X Y] = meshgrid(x,y);
r = 3; % radius
tolerane = 2;
indicator = abs(X.^2 + Y.^2 - r^2) < tolerane;
xCircle = X(indicator);
yCircle = Y(indicator);
Since points on the grid are discrete you will need to define a tolerance to for accepting a point. You will need to tune the tolerance parameter according to the resolution of your grid to get all points on the circle.
  4 Comments
Justin Dubin
Justin Dubin on 23 May 2018
Yes, this does the job just fine. Thank you, Ameer!

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 23 May 2018

Community Treasure Hunt

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

Start Hunting!