reshape data to fit into surf/contour

8 visualizaciones (últimos 30 días)
feynman feynman
feynman feynman el 25 de Nov. de 2024
Comentada: feynman feynman el 1 de Dic. de 2024
nodalPositions is a 2*100 double matrix storing the nodal positions of a PDE on a 2D domain with 100 nodes. x=nodalPositions(1,:) and y=nodalPositions(2,:) are the nodal x and y coordinates. The solution of the PDE, u, is a 1*100 double array. One can plot(x,y,'.') to plot the nodes in a plane or plot3(x,y,u,'.') to plot u in 3-space. How to reshape x, y, u so that one can surf(x,y,u) or contour(x,y,u)?

Respuesta aceptada

Walter Roberson
Walter Roberson el 25 de Nov. de 2024
You cannot do that.
Or,
N = 100;
[minx, maxx] = bounds(x);
[miny, maxy] = bounds(y);
[Xg, Yg] = ndgrid( linspace(minx, maxx, N), linspace(miny, maxy, N));
F = scatteredInterpolant(x(:), y(:), u(:));
Ug = F(Xg, Yg);
surf(Xg, Yg, Ug, 'edgecolor', 'none');
  6 comentarios
Walter Roberson
Walter Roberson el 30 de Nov. de 2024
@Stephen23 is right. When y = x then all of the data falls along a single line. Triangulation of a single line fails.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by