Use of ":"operator in matlab?

1 view (last 30 days)
ABTJ
ABTJ on 21 Jun 2020
Edited: Stephen23 on 23 Jun 2020
Let say i have a matrix; x=[2 3;4 5] % 2 rows 2 columns
then i enter command , x(:)=[2;3;4;5] % 4 rows 1 column
What is happening here?
Is there any possiblity that i get 1 row 4 columns?If yes,how?

Accepted Answer

madhan ravi
madhan ravi on 21 Jun 2020
(:) forces the matrix to a column vector, all you need is
reshape(matrix, 1, [])
  2 Comments
Stephen23
Stephen23 on 23 Jun 2020
Edited: Stephen23 on 23 Jun 2020
"(:) forces the matrix to a column vector"
Only when used in an expression or the RHS of an assignment. On the LHS it simply refers to all elements of the array (in linear index order) and does not change the size or shape of the LHS array at all. See:
madhan ravi
madhan ravi on 23 Jun 2020
Edited: madhan ravi on 23 Jun 2020
“Only when used on the RHS of an assignment”
Exactly what the OP was asking and I was referring too. Was expecting your comment a bit earlier though ;). But thank you for explaining the details.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!