How to flip only some rows inside a matrix?
3 views (last 30 days)
Show older comments
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 Comment
the cyclist
on 27 Oct 2018
I don't understand the general rule for going from the vector to the matrix. Can you describe it?
Accepted Answer
madhan ravi
on 27 Oct 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 Comments
More Answers (2)
Abdul Rehman
on 27 Oct 2018
Edited: Abdul Rehman
on 27 Oct 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:

0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!