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

2 次查看(过去 30 天)
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