# How do extract boundary nodes in matlab?

15 views (last 30 days)
KieranSQ on 16 Feb 2019
Edited: Mohammed Abdallatif on 27 Jun 2019
I am trying to extract all of the boundary notes for an ellipse from PDEModeler (pictured below). I know that the boundary nodes are 1:24 but when I use the following code I get extra entries. My nodes for the whole system are as follows:
gd =
4.0000
0.0033
-0.0082
0.9967
0.4704
0
Then I wish to find the boudnary nodes. To do this I follow a similar appraoch to Larson's Finite Element book:
fixed=boundary(nodes(:,1),nodes(:,2),1)%Finds boundary points for complex geometries
T=sort(fixed);
T' =
Columns 1 through 12
1 1 2 3 4 5 6 7 8 9 10 11
Columns 13 through 24
12 13 14 15 16 17 18 19 20 21 22 23
Columns 25 through 36
24 26 26 28 33 38 41 42 49 52 53 65
But we know that the only entries should be 1:24. If anyone could help, I'd greaty appreciate it.
Javad Bagheri on 16 Mar 2019
hello my friend
im trying to extract the boundry nodes from pdemodeler and i couldn't yet
would you please send me whole code, thanks a lot

Image Analyst on 16 Feb 2019
If you have the (x,y) coordinates of all those points, call convhull() to get the indexes of those that are on the convex hull.
KieranSQ on 16 Feb 2019
Many thanks, I hadn't heard of that function!

Mohammed Abdallatif on 27 Jun 2019
Edited: Mohammed Abdallatif on 27 Jun 2019
I do this using the neighbour function implemented in Matlab.: N = neighbors(G,nodeID)
Imagine you clustered the data in x clusters, you can identify the boundary nodes easily as those nodes who are member (you might use the ismember function as well) of a cluster: , and have nighbours which are mbers of an other cluster
Applysing this for a 9 Node graph as below, yiels to the following list of boundary nodes BN:
BN = [4 6 5 7 8 9]