code with out using loops
2 views (last 30 days)
Show older comments
how can I write a code segment that flips an N*M array up to down *Do not use loops or flip function
2 Comments
James Tursa
on 26 Dec 2020
What have you done so far? What specific problems are you having with your code?
Stephen23
on 27 Dec 2020
Backup of original thread with question by omar khasawneh on 25th December 2020:
Accepted Answer
Image Analyst
on 25 Dec 2020
What did your course tell you about indexing? Like
indexes = startingValue : stepValue : endingValue;
If you still need help, reply only after reading the link below:
5 Comments
Image Analyst
on 26 Dec 2020
Read my comment again - there is no accusation. Just a question as to explain how we can help you with this question that can be solved in one line of code. Since it's only one line of code, it's hard to help you without doing the whole thing for you. That's why I gave the hint I did. If I give any more than that, then it's completely done and there is nothing more for you to do. At least this way, I think you can change variable names and be able to say you did it yourself.
More Answers (1)
omar khasawneh
on 26 Dec 2020
1 Comment
Image Analyst
on 26 Dec 2020
OK, that works as long as you have written a special rot180() function. I'm not seeing it in base MATLAB. If I instead use imrotate() to do that part:
A = [1 2 3 ; 4 5 6; 7 8 9];
A = A' % transpos
% A = rot180(A2) %rotation
A = imrotate(A, 180)
I get
A =
1 4 7
2 5 8
3 6 9
A =
9 6 3
8 5 2
7 4 1
Which is not flipped up to down. It also flips left to right.
The solution most MATLABers would use is a single line of code using the hint I gave. So here is a little bit more:
A = A(startingValue : stepValue : endingValue, :);
That's it. One single line of code. See if you can supply the values.
See Also
Categories
Find more on Matrix Indexing 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!