How can I flip a row vector without using flip(lr) function?

I want to write a function that it can flip a row vector without flip(lr) function.
if true
% A=[1 2 -3 4]
And output must be:
B=[4 -3 2 1]
end

 Accepted Answer

Reverse the indices:
A = [1 2 -3 4];
B = A(numel(A):-1:1)
B =
4 -3 2 1

5 Comments

You can simply use "end" - you don't need to call the numel() function:
B = A(end:-1:1)
end still works inside the parentheses even though it's the first thing in there instead of the last.
@Image Analyst — Good point. Thank you.
I wanted to make my code straightforward, the reason I wrote it as I did. I was not certain if using end would do that.
@Image Analyst Thank you so much. The end function is so helpful at all matrix operations. I would not forget anymore.

Sign in to comment.

More Answers (3)

A=[1 2 -3 4]
B=wrev(A)

1 Comment

Thank you but I don't have Wavelet Toolbox. I want to write this function with matrix operations.

Sign in to comment.

how to conver a matrix without using (flip function's)?for example
a= 1 2 3 4 b=4 3 2 1
5 6 7 8 8 7 6 5
9 10 11 12 12 11 10 9
13 14 15 16 16 15 14 13

2 Comments

@Saad
The same as I originally posted, with an additional row dimension —
a = [1:4; 5:8; 9:12; 13:16]
a = 4×4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
b = a(:,size(a,2):-1:1)
b = 4×4
4 3 2 1 8 7 6 5 12 11 10 9 16 15 14 13
.

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!