How to flip only some rows inside a matrix?

hey all, if i have vector
A=[2 5 6 7 8 9]
i need it to become a matrix
A=[2 9;
5 8;
7 6]
any suggestions?

1 comentario

the cyclist
the cyclist el 27 de Oct. de 2018
I don't understand the general rule for going from the vector to the matrix. Can you describe it?

Iniciar sesión para comentar.

 Respuesta aceptada

madhan ravi
madhan ravi el 27 de Oct. de 2018
A=[2 5 6 7 8 9]
a=fliplr(reshape(A,[3 2]))
a([3 1])= a([1 3])
a=fliplr([a(1:2,:);flip(a(3,:))])

2 comentarios

Abdul Rehman
Abdul Rehman el 27 de Oct. de 2018
Editada: Abdul Rehman el 27 de Oct. de 2018
that good one Madhan Sir.
madhan ravi
madhan ravi el 31 de Oct. de 2018
Thank you @Abdul

Iniciar sesión para comentar.

Más respuestas (2)

Abdul Rehman
Abdul Rehman el 27 de Oct. de 2018
Editada: Abdul Rehman el 27 de Oct. de 2018
i have got Answer for you but its not generic for all matrix.you should look for the end and first element of matrix.
Hopefully it's work for you...
if true
A=[2 5 6 7 8 9];
b=(size(A));
[r c]=size(A);
j=1;
gg=c;
for u=c:-1:c-1 %two iteration for size of vector.
if(j==1)
b(j)=A(j); % first value at start
end
if(gg==c)
b(gg)=A(gg/2); %Size of vector divided by 2 center value at end
end
j=j+1;
b(j)=A(u);
b(j+1)=A(j);
j=j+1;
end
b=reshape(b,[2 3])
end
Here Answer:
Muniba Shah
Muniba Shah el 31 de Oct. de 2018

0 votos

A = [2 5 6 7 8 9]; B = reshape(A,[3,2]); C=flipud(B(:,2)); B(:,2)=C; D=fliplr(B(3,:)); B(3,:)=D

Categorías

Etiquetas

Preguntada:

el 27 de Oct. de 2018

Comentada:

el 31 de Oct. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by