Array element rearrange without using conditional statement?
1 次查看(过去 30 天)
显示 更早的评论
Hi all,
I ahve a Array say A = [1 2 3 4 5 10 13 16 17 8 20 7 23 34 15];
I want to keep the position of first 5 elemnts of A unchanged. Now if any element of A don't satisfy thie following condition will come after the first 5 elements. following conditional statement are 10≤A≤16, 20≤A≤34. those elements whis are not satisfying the following condition will come before the satisfying array elements.
However, I want to see like this
A = [1 2 3 4 5 17 8 7 10 13 16 15 20 23 34 ]
0 个评论
采纳的回答
the cyclist
2021-5-6
I don't get the same output you specify, but I think I obeyed your rules. Did I make a mistake, or did you?
Regardless, maybe you can use my code as a basis of what you want to do.
A = [1 2 3 4 5 10 13 16 17 8 20 7 23 34 15];
A6 = A(6:end);
satisfy = (A6 >= 10 & A6 <= 16) | (A6 >= 20 & A6 <= 34);
out = [A(1:5) A6(~satisfy) A6(satisfy)]
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!