reshape data to fit into surf/contour

8 ビュー (過去 30 日間)
feynman feynman
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)?

採用された回答

Walter Roberson
Walter Roberson 2024 年 11 月 25 日
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 件のコメント
Walter Roberson
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.
feynman feynman
feynman feynman 2024 年 12 月 1 日

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeVisualization についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by