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

17 ビュー (過去 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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by