If B is a matrix,what is the difference between B(1:end) and B(:)

16 views (last 30 days)
If B=[1 2 ; 3 4]
B(1:end) returns [1 3 2 4] as a row vector and B(:) returns it as a column vector.
What is the difference?

Accepted Answer

Stephen23
Stephen23 on 6 Jan 2020
Edited: Stephen23 on 6 Jan 2020
Given a matrix B:
  • B(1:end) uses linear indexing. The size of the output is the same as the size of the index (which in your example is a 1xN vector).
  • B(:) is a special syntax that always returns a column vector.
Loren Shure's blog explained the first syntax as "C = A(B) produces output the size of B unless both A and B are vectors... When both A and B are vectors, the number of elements in C is the number of elements in B and with orientation of A."
See also:

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!