How to Permute the array with specific number?
古いコメントを表示
I want to keep 1,2,6,7,9,10, they will not move
I have this array
b=[1,5,2,8,6,11,7,9,3,10]
P=perms(b);
HOw to use perms for 3,5,8,11 among 6 numbers above?
採用された回答
その他の回答 (1 件)
You did not mention how the output should look like. Perhaps:
b = [1,5,2,8,6,11,7,9,3,10];
keep = [1,2,6,7,9,10];
move = ~ismember(b, keep);
P = perms(b(move));
R = repmat(b, size(P,1), 1);
R(:, move) = P
6 件のコメント
Jan
2019 年 5 月 29 日
@Hang Vu: If I assume, that your examples contain some typos, the output R contains all wanted vectors as rows. So is your problem solved?
Hang Vu
2019 年 5 月 29 日
Jan
2019 年 5 月 29 日
@Hang Vu: I do not understand, what you mean. You solved the problem, but this is another one? Is the problem of your question solved or not?
"if the moving numbers move then you will see the keeping move..." - what does this mean?
Please explain exactly, what you want to achieve.
Hang Vu
2019 年 5 月 29 日
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!