swap values of an array
81 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi! Every one
I have an array O = [11 12 13 21 14 22 23 31 25 24 32 33 34] ;
I want to swap a value with its adjacent value at two positions.The postions are defined by vector
v=[5 10]
I want output to be like
out = [11 12 13 21 22 14 23 31 25 32 24 33 34];
The number 14 is replaced by its adjacent 22 at postion 5.
Similarly,
The number 24 is replaced by its adjacent 32 in posioton 10.
0 commentaires
Réponses (2)
Guillaume
le 1 Fév 2019
Trivially done:
O = [11 12 13 21 14 22 23 31 25 24 32 33 34];
v = [5 10];
O([v;v+1]) = O([v+1;v]); %v must be a row vector for this to work.
2 commentaires
Luna
le 1 Fév 2019
Hi Mazhar Ali,
Try this below:
for i = 1:numel(v)
temp = O(v(i));
replacemnt = O(v(i)+1);
O(v(i)) = replacemnt;
O(v(i)+1) = temp;
end
0 commentaires
Voir également
Catégories
En savoir plus sur Read, Write, and Modify Image dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!