code with out using loops

8 Ansichten (letzte 30 Tage)
omar khasawneh
omar khasawneh am 25 Dez. 2020
Kommentiert: Jan am 27 Dez. 2020
how can I write a code segment that flips an N*M array up to down *Do not use loops or flip function
  2 Kommentare
James Tursa
James Tursa am 26 Dez. 2020
What have you done so far? What specific problems are you having with your code?
Stephen23
Stephen23 am 27 Dez. 2020

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 25 Dez. 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 Kommentare
Image Analyst
Image Analyst am 26 Dez. 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 am 27 Dez. 2020
@omar khasawneh: There is no accusation. Image Analyst gave you a useful hint.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

omar khasawneh
omar khasawneh am 26 Dez. 2020
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 Kommentar
Image Analyst
Image Analyst am 26 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by