Remove element from array but want to keep in indices
1 回表示 (過去 30 日間)
古いコメントを表示
A=[1 2;1 5;2 3;2 4;2 5;3 4;4 5;4 7;4 9;5 6;6 11;6 12;6 13; 7 8;7 9;9 10;9 14;10 11;12 13;13 14] I omit the second row: A(2,:)=[]; so size A changes to 19*2 and [2,3] changes to my second element. If I want to keep [2,3] as a third element, what should I do?
1 件のコメント
KALYAN ACHARJYA
2018 年 10 月 9 日
Can you elaborate your question exactly? Use Maths to explain your problem.
回答 (3 件)
Andrei Bobrov
2018 年 10 月 9 日
A(2,:)=nan;
2 件のコメント
Walter Roberson
2018 年 10 月 9 日
No, that is a validation routine from the Graph Theory Toolbox from the file exchange, and that Toolbox does not support omitted elements.
Walter Roberson
2018 年 10 月 9 日
To keep that row as being the third row... don't remove the second row.
The alternative is to use containers.map to create mappings between subscripts and values. Then when you delete keys from the map, the remaining items would keep the same keys.
.... But what you probably need to hear is:
Run your loop backwards so that you delete rows starting from the end. The rows after will "fall down" into the earlier slots, but that is okay because next iteration you will be examining a slot that has not had an opportunity to fall down because it was below all slots you looked at before that.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!