How can I make the output of a function always a column vector, regardless of if the input is a column or row vector?
96 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Michael Perry
am 7 Feb. 2018
Beantwortet: Robert
am 21 Mär. 2022
I'm having trouble with a problem where I need the output to be a column vector, but inputs are sometimes provided as row vectors and other times as column vectors (so sometimes transposing it helps, but sometimes it flips a column vector to a row vector, making it wrong.) Thanks!
1 Kommentar
per isakson
am 7 Feb. 2018
Bearbeitet: per isakson
am 7 Feb. 2018
>> row = 1:12; % test data
>> row
row =
1 2 3 4 5 6 7 8 9 10 11 12
>> reshape( row, [],1 )
ans =
1
2
3
4
5
6
7
8
9
10
11
12
>>
or
>> row(:)
ans =
1
2
3
4
5
6
7
8
9
10
11
12
I think reshape is more readable.
Test this with a column vector
Akzeptierte Antwort
possibility
am 7 Feb. 2018
%Check if the output is a column vector
if size(output,2)>1
output=output(:)
end
Hope the problem is understood correctly.
Best
0 Kommentare
Weitere Antworten (1)
Robert
am 21 Mär. 2022
You can use isrow for this:
if isrow(output)
output = output';
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!