Matrix elements movement in MATLAB

4 vues (au cours des 30 derniers jours)
Raza
Raza le 19 Fév 2014
Commenté : Alina le 7 Mar 2014
HI, I want to move the matrix elements as desired like
a=[1 2 3 4;
5 6 7 8;
9 10 11 12;
13 14 15 16]
now i want to make it
a=[3 4 8 7;
11 12 16 15;
14 13 9 10;
6 5 1 2]
how can i do it in MATLAB

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 19 Fév 2014
Modifié(e) : Azzi Abdelmalek le 19 Fév 2014
a=[1 2 3 4;
5 6 7 8;
9 10 11 12;
13 14 15 16]
n=size(a,2);
n2=n/2;
a1=a(:,n2+1:n);
a2=a(:,1:n2);
a1(2:2:end,:)=fliplr(a1(2:2:end,:))
a2(2:2:end,:)=fliplr(a2(2:2:end,:))
a2=flipud(a2)
out=reshape([a1' a2'],n,[])'
  2 commentaires
Raza Ali
Raza Ali le 2 Mar 2014
what should be done to reverse this process means what to do, to get "a" back
[1 2 3 4;
5 6 7 8;
9 10 11 12;
13 14 15 16]
Alina
Alina le 7 Mar 2014
the opposite of above coding can be used to convert this matrix back to its initial position
Am i right?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices 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!

Translated by