MATLAB: Re-indexing matrix which corresponds to mesh

indexingmatrix manipulationmesh

Hello
I'm wondering if anyone can help me. I'm trying to re-index two matrixes. I have selected a sub-sample of data and I need them to be re-numbered to 1:N. There is a corresponding matrix which is an Mx3 matrix which makes up the triangles.
I need to re-number the first matrax and then apply that re-numbered matrix to the list of triangles. This cannot be done by simple indexing because the numbers in the original matrix are obviously changed so they do not correspond with values in the 2nd matrix.
I'm not sure if I've explained that well but here is an example of the matrices I currently have.
I would also like to point out that those are just a sample number, the nodes may not necessarily match up below but they do in my matrices.
Cheers 🙂
Nodes:
3772
3947
3948
3949
4144
4145
4146
4147
4148
4149
Tri:
3771 3772 3603
3604 3603 3772
3773 3604 3772
3771 3946 3947
3948 3771 3947
3771 3948 3772
3772 3948 3949
3772 3949 3950
3772 3950 3773
3947 3946 4143

Best Answer

Let nodes and tri be your Nodes and Triangles.
[val,idx] = unique(nodes) ;
nodes_1 = nodes ;
tri_1 = tri ;
for i = 1:length(val)
nodes_1(nodes==val(i))=i ;
tri_1(tri==val(i)) = i ;
end
tri_1 and nodes_1 are the Nodes and Triangles re-indexed to 1:N.