Matlab default vector orientation

5 vues (au cours des 30 derniers jours)
Tim
Tim le 3 Fév 2021
Commenté : Tim le 11 Fév 2021
Initializing a vector using indices always results in a row vector, even if the indices and the RHS are column vectors, e.g:
a([1; 2; 3]) = ones(3, 1);
results in row vector [1, 1, 1]. Similarly, if I define a vector incrementally, e.g.:
a(1) = 1;
a(2) = 1;
This results in a row vector, [1, 1].
Has defining a vector this way in Matlab always defaulted to row vector format (vs. column vector) in previous versions? I seem to recall, when begining Matlab several years ago, that vectors defaulted to column format not row format. I'm debugging someones code and it is crashing precisely because their code makes the same assumption about the orientation of vectors generated using indices and I'm wondering if Matlab switched some time but I don't have any old versions available to check this. Thank you,

Réponses (1)

darova
darova le 11 Fév 2021
Force MATLAB to read rows
a(1:3,1) = 1:3;
b(1,1:3) = 1:3;
  1 commentaire
Tim
Tim le 11 Fév 2021
Thank you for the reply but this is not what I'm asking. My question is if, in previous versions of Matlab, A(1) = 1, A(2) = 2 resulted in a column or row vector if A was previously undefined and the vector indices were defined sequentially. I seem to recall it resulting in a column vector in the past but now it seems to result in a row vector.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by