How do I store x-y coordinate values in a 2 Dimension array (n x n) with its x-y position ?
53 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hahsaka dahsra
el 17 de Jul. de 2023
Comentada: Chunru
el 19 de Jul. de 2023
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 comentarios
the cyclist
el 17 de Jul. de 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
el 17 de Jul. de 2023
Editada: Torsten
el 17 de Jul. de 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.
Respuesta aceptada
Chunru
el 18 de Jul. de 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 comentarios
Chunru
el 19 de Jul. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!