How can I pick certain element from each row of an array ?
1 次查看(过去 30 天)
显示 更早的评论
I already have an array CF [ 1 2 3; 2 3 4]
How can I create an for loop that give me an array CE [ 1 2; 2 3; 3 1; 3 4; 4 2] ?
Each row of CF represent a face of an triangle. Each row of CE represents the edges of the face.
Thank you
1 个评论
采纳的回答
Fabio Freschi
2019-11-9
I see that the edges shared by two triangles are not duplicated. To check for this case I sorted the nodes and the edges. Let me know if it is ok:
CF = [ 1 2 3; 2 3 4];
% sorted nodes (always increasing node)
CFs = sort(CF,2);
% remove repetitions and get edges
CE = unique(reshape(CF(:,[1 2 2 3 1 3]).',2,3*size(CF,1)).','rows')
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!