how can I write a code segment that flips an N*M array up to down *Do not use loops or flip function

2 commentaires

James Tursa
James Tursa le 26 Déc 2020
What have you done so far? What specific problems are you having with your code?
Stephen23
Stephen23 le 27 Déc 2020

Connectez-vous pour commenter.

 Réponse acceptée

Image Analyst
Image Analyst le 25 Déc 2020

4 votes

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 commentaires

omar khasawneh
omar khasawneh le 25 Déc 2020
sorry , is there any mistake with my question ? !
Image Analyst
Image Analyst le 25 Déc 2020
Do you want us to do your homework for you so that you can turn in our code to your class while telling your professor that you wrote the code yourself? Please explain what you want us to do for you and what you will do with our answer.
omar khasawneh
omar khasawneh le 26 Déc 2020
Listen , I never allow you to accuse me of lying to my professor, if you also lie, that's your problem.
I asked because I really need help, I don't need to manipulate as you pretend, and I didn't ask you to solve the question
Image Analyst
Image Analyst le 26 Déc 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.
Jan
Jan le 27 Déc 2020
@omar khasawneh: There is no accusation. Image Analyst gave you a useful hint.

Connectez-vous pour commenter.

Plus de réponses (1)

omar khasawneh
omar khasawneh le 26 Déc 2020

0 votes

okay , I got it ...
I solved like this A = [1 2 3 ; 4 5 6; 7 8 9];
A = A' % transpos
A = rot180(A) %rotation

1 commentaire

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.

Connectez-vous pour commenter.

Catégories

Produits

Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by