フィルターのクリア

Plot finite element method using Matlab

64 ビュー (過去 30 日間)
Tingchang Yin
Tingchang Yin 2021 年 12 月 17 日
回答済み: KSSV 2021 年 12 月 17 日
Suppose that I have triangular mesh as follows:
and the mesh data structure is like
element = [nodeTag1 nodeTag2 nodeTag3];
coordinate = [x1, y1
x2, y2
x3, y3]; % coordinates of each node
I can use
patch('Vertices', coordinate, 'Faces', element)
to plot the mesh (the above plot).
After FEM analysis, I can get the values at each node (vertices of each triangle), like
data = [p1, p2, p3];
To plot the field, I can use
patch('Vertices', coordinate, 'Faces', element, 'FaceVertexCData', Data, 'FaceColor', 'interp');
to interpolate the values (field) on such a domain, with a colormap, and the results is like the following plot
My questions are
  1. If I can only get the values on the each edge of triangles (i.e. centers of edges), how can I plot the result?
  2. If I can only get the values on the center of triangles, how to plot the result?
Besides, the domain can be very irregular. I am affrid that
contourf
and
meshgrid
are not applicable.

採用された回答

KSSV
KSSV 2021 年 12 月 17 日
You can interpolate the values to a grid using griddata or scatteredInterpolant. Read about them.
You can also plot contours using the present data. For this refer: https://in.mathworks.com/matlabcentral/fileexchange/38858-contour-plot-for-scattered-data

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by