Borrar filtros
Borrar filtros

How to flip only some rows inside a matrix?

1 visualización (últimos 30 días)
Muniba Shah
Muniba Shah el 27 de Oct. de 2018
Comentada: madhan ravi el 31 de Oct. de 2018
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
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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by