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

조회 수: 6 (최근 30일)
Alejandro Duque Salazar
Alejandro Duque Salazar 2020년 1월 6일
편집: Stephen23 2020년 1월 6일
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?

채택된 답변

Stephen23
Stephen23 2020년 1월 6일
편집: Stephen23 2020년 1월 6일
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:

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by