Adjusting the dimensions of input argument

4 views (last 30 days)
I have written a function which takes in a row vector A as the input. If A is a column vector, I want the program to convert it into a row vector (i.e., replace it by its transpose). This can be achieved using an if statement:
if size(A,1) ~= 1
A = A';
end
Is there a shorter way of impelmenting this that does not require an if statement?
Any suggestions would be greatly appreciated.

Accepted Answer

Stephen23
Stephen23 on 6 May 2019
A = A(:).';

More Answers (1)

Adam Danz
Adam Danz on 6 May 2019
Edited: Adam Danz on 6 May 2019
A = reshape(A,1,[]);
The above will transpose a column vector or will leave a row vector as is.
A quick note on the use of " ' " versus " .' " If your merely transposing a matrix, use the latter. The prior will also negate the sign of an imaginary parts of complex elements (if any).

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!