creating a function to output the invert the numbers in an array
Afficher commentaires plus anciens
A = [ 1 2 3 4 5 6]
A = 6 5 4 3 2 1
when an array is entered, the function will display all elements on a row and all rows in inverted order.
I am having trouble creating a function to do the above for both vectors and matrices. I am to do this without using flip functions.
any help is appreciated ~
Alexandra
1 commentaire
Walter Roberson
le 29 Oct 2012
Please use better tags for this question; see http://www.mathworks.co.uk/matlabcentral/answers/43073-a-guide-to-tags
Réponses (3)
Image Analyst
le 28 Oct 2012
This sounds like a homework problem ( http://www.mathworks.com/matlabcentral/answers/8626-how-do-i-get-help-on-homework-questions-on-matlab-answers). Hint: use a for loop with an increment of -1 to go backwards:
for row = lastRow: -1 : 1
same for the columns. To determine the last row, use the size() function. Use fprintf() or disp() to display. Also, type
doc colon
on the command line to learn how the colon operator works. Post back here with your attempt if you're still having trouble.
Chris A
le 28 Oct 2012
A = [ 1 2 3 4 5 6]';
b=reshape(sortrows(horzcat(A, ((numel(A):-1:1)')), [2]),[],1);
b(1:6),
Andrei Bobrov
le 29 Oct 2012
Modifié(e) : Andrei Bobrov
le 29 Oct 2012
ii = numel(A):-1:1;
B = A(ii);
or
B = A(sort(1:numel(A),'descend'));
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!