how can I reshape vector data into a matrix

5 visualizaciones (últimos 30 días)
Can anyone help me with this please... I have a data set, shaped so. This needs to be graphed in 3D.
The first column represents locations on X-axis, the 2nd column - locations on Y-axis, and the third column is my data. The 1st & 2nd column make a grid.
How do I reshape this to make the 3rd column into a 2x2 matrix, so that the whole thing can be graphed as a surface?
Thank you beforehand!
D.

Respuesta aceptada

Guillaume
Guillaume el 31 de Jul. de 2018
How do I reshape this to make the 3rd column into a 2x2 matrix, so that the whole thing can be graphed as a surface?
You don't, it's completely unnecessary
surf(yourmatrix(:, 1), yourmatrix(:, 2), yourmatrix(:, 3));
If you wanted to do the reshape (which again is completely unnecessary), and assuming that the X and Y coordinates that are supposed to be identical are actually identical down to the last binary digit, then:
[~, ~, col] = unique(yourmatrix(:, 1));
[~, ~, row] = unique(yourmatrix(:, 2));
X(row, col) = yourmatrix(:, 1);
Y(row, col) = yourmatrix(:, 2);
Z(row, col) = yourmatrix(:, 3);
  4 comentarios
Guillaume
Guillaume el 31 de Jul. de 2018
Doh! Indeed Z has to be a matrix. And the second part of the answer was also incorrect. Never mind, this is correct:
[X, ~, col] = unique(yourmatrix(:, 1));
[Y, ~, row] = unique(yourmatrix(:, 2));
Z = zeros(numel(Y), numel(X));
Z(sub2ind(size(Z), row, col)) = yourmatrix(:, 3));
Daria Bontch-Osmolovskaia
Daria Bontch-Osmolovskaia el 1 de Ag. de 2018
Guillame, thank you very much - that worked beautifully. Quite literally. Looks like the aurora :) Really appreciate your effort. Prior to this, I was only able to graph data interpolated, and that didn't work right. This is much better as I can see the crazy outliers. Cheers, Daria

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Discrete Data Plots 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!

Translated by