Create mesh from matrix
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kiran
el 11 de Oct. de 2023
Comentada: Walter Roberson
el 13 de Oct. de 2023
I have two matrix a and b, which have dimension of 241 x 360. The values from the a and b gives a mesh. How do I plot the mesh?
8 comentarios
Image Analyst
el 12 de Oct. de 2023
@Kiran did you even see my answer from yesterday below (scroll down)?
Respuesta aceptada
Walter Roberson
el 12 de Oct. de 2023
a = [0 2 3;
0 2 4];
b = [ 0 2.3 4;
5 5 3];
h = size(a,1);
w = size(a,2);
idx = reshape(sub2ind([h, w], 1:h*w), h, w);
tl = idx(1:end-1, 1:end-1);
tr = idx(1:end-1, 2:end);
ll = idx(2:end, 1:end-1);
lr = idx(2:end, 2:end);
T = [tl(:), ll(:), lr(:), tr(:)];
X = [a(:), b(:), zeros(numel(a),1)];
tetramesh(T, X)
view(2)
1 comentario
Walter Roberson
el 13 de Oct. de 2023
The sub2ind() is not needed...
a = [0 2 3;
0 2 4];
b = [ 0 2.3 4;
5 5 3];
h = size(a,1);
w = size(a,2);
idx = reshape(1:h*w, h, w);
tl = idx(1:end-1, 1:end-1);
tr = idx(1:end-1, 2:end);
ll = idx(2:end, 1:end-1);
lr = idx(2:end, 2:end);
T = [tl(:), ll(:), lr(:), tr(:)];
X = [a(:), b(:), zeros(numel(a),1)];
tetramesh(T, X)
view(2)
Más respuestas (1)
Image Analyst
el 12 de Oct. de 2023
Not sure what you mean by "plot" but to view a and b as 2-D images and 2.5-D surface plots:
subplot(2, 2, 1);
imshow(a, []);
subplot(2, 2, 2);
imshow(b, []);
subplot(2, 2, 3);
surf(a);
subplot(2, 2, 4);
surf(b);
Or you could simply double click on a and b in the workspace panel to bring them up in the variable editor panel in MATLAB.
Ver también
Categorías
Más información sobre 2-D and 3-D 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!