how to calculate the area of each triangle of the mesh in the pdetool box?

4 views (last 30 days)
how to calculate the area of each triangle of the mesh in the pdetool box?

Answers (2)

KSSV
KSSV on 4 Aug 2016
If you have nodal connectivity matrix and coordinates in hand, use the below code:
function A = triarea(p,t)
% TRIAREA: Area of triangles assuming counter-clockwise (CCW) node
% ordering.
%
% P : Nx2 array of XY node co-ordinates
% T : Mx3 array of triangles as indices into P
% A : Mx1 array of triangle areas
% Darren Engwirda - 2007
d12 = p(t(:,2),:)-p(t(:,1),:);
d13 = p(t(:,3),:)-p(t(:,1),:);
A = (d12(:,1).*d13(:,2)-d12(:,2).*d13(:,1));
end % triarea()

Alan Weiss
Alan Weiss on 8 Aug 2016
You can use the pdetrg function on the p,e,t representation of the mesh. If you are using the PDEModel framework, use meshToPet to extract the appropriate data structures.
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

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

Start Hunting!