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

Find more on Function Creation 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!