Convert xy Coordinates to Matrix
42 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
John
el 26 de Mayo de 2013
Comentada: Image Analyst
el 24 de Mzo. de 2021
I have an xy coordinates positions (100x2) and another z vector (100x1) with values corresponding to each xy coordinate. How can I make a matrix of the coordinates with the position of each coordinate having the corresponding z value? Thanks!
0 comentarios
Respuesta aceptada
Andrei Bobrov
el 27 de Mayo de 2013
Editada: Andrei Bobrov
el 27 de Mayo de 2013
after John's comment in Image Analyst's answer:
out = accumarray([x(:),y(:)],z(:),[10 10]);
or
out = zeros(10);
out(sub2ind(size(out),x,y)) = z;
4 comentarios
cecilia dip
el 28 de Nov. de 2016
Hi, I have to do the same thing, and i've tried this, but my coordinates (x,y) are negative and non-integer numbers, as they are latitude,longitude.. how can i do this? I want a plot where for each(lat,long) i can have my Z value (in a color scale, as i will compare it with interpolation methos later). Thank you!
Más respuestas (2)
Image Analyst
el 26 de Mayo de 2013
Try this:
% Setup / initialization.
% Start out matrix as zeros.
m = zeros(20,10);
% Generate 100 random coordinates.
xy = int32(randi(10, 100, 2));
% Get matrix values for those x,y locations
z = randi(255, 100, 1); % 100 values.
% Now, do what the poster, John, wants to do.
% Assign the z values to the (x,y) coordinates at the corresponding row.
% E.g. m at (x(1), y(1)) will have a value of z(1).
% m at (x(2), y(2)) will have a value of z(2). And so on.
indexes = sub2ind([20, 10], xy(:,1), xy(:,2))
m(indexes) = z
6 comentarios
Image Analyst
el 24 de Mzo. de 2021
Try using a scatteredInterpolant. Demo attached.
If you still need help, attach your x, y, and z data in a new question (not here) so people can help you.
Ver también
Categorías
Más información sobre Elementary Polygons 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!