reshape data to fit into surf/contour
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
feynman feynman
am 25 Nov. 2024
Kommentiert: feynman feynman
am 1 Dez. 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)?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 25 Nov. 2024
You cannot do that.
Consider using https://www.mathworks.com/matlabcentral/fileexchange/38858-contour-plot-for-scattered-data
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 Kommentare
Walter Roberson
am 30 Nov. 2024
@Stephen23 is right. When y = x then all of the data falls along a single line. Triangulation of a single line fails.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Visualization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!