reshape data to fit into surf/contour
8 ビュー (過去 30 日間)
古いコメントを表示
feynman feynman
2024 年 11 月 25 日
コメント済み: feynman feynman
2024 年 12 月 1 日
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 件のコメント
採用された回答
Walter Roberson
2024 年 11 月 25 日
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 件のコメント
Walter Roberson
2024 年 11 月 30 日
@Stephen23 is right. When y = x then all of the data falls along a single line. Triangulation of a single line fails.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Visualization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!