How do I store x-y coordinate values in a 2 Dimension array (n x n) with its x-y position ?
53 views (last 30 days)
Show older comments
I have seven x-y coordinates and I would like to store in 2 Dimensional array.
These values are to be plot exactly like in this picture. In an array, the x-y coordinate values can be assign with a number let say 1. 1 is refer back to coordinate 1 (27,10). Another example, 7 holds information for x-y coordinate (50,123).
How i do assign the x-y coordinates in x-y location and store in 2D array like in the picture ?
Thanks
2 Comments
the cyclist
on 17 Jul 2023
What exactly is the input you have? Can you upload the input data? Use the paper clip icon in the INSERT section of the toolbar.
Torsten
on 17 Jul 2023
Edited: Torsten
on 17 Jul 2023
I don't understand what you want to store and how.
What I can say is that a usual numerical 2d-matrix can only store a single scalar in each (row,column)-position.
If you want to store two coordinates in one specified position, you either have to use two numerical arrays (X and Y) or you have to use a cell array.
Accepted Answer
Chunru
on 18 Jul 2023
xy = [27 104;
35 100;
47 102;
25 110;
35 114;
47 109;
50 123];
A = zeros(7, 7); % 5x5 is enough for your case
% You may need to adjuxt the following
xc = 25+(0:6)*5+2.5; % centre of grid
yc = 100+(0:6)*5+2.5;
for i=1:size(xy, 1)
[~, ix] = min(abs(xy(i, 1) - xc));
[~, iy] = min(abs(xy(i, 2) - yc));
A(iy, ix) = i;
end
A
2 Comments
Chunru
on 19 Jul 2023
The grid 25+(0:6)*5 is 25, 30, 35, ...
The center of grid is 27.5, 32.5, ...
So you need to add 2.5 yo obtain the centre of grid.
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!