Adjusting the dimensions of input argument

3 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Stephen23
Stephen23 il 6 Mag 2019
A = A(:).';

Più risposte (1)

Adam Danz
Adam Danz il 6 Mag 2019
Modificato: Adam Danz il 6 Mag 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).

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by