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

17 vues (au cours des 30 derniers jours)
Alejandro Duque Salazar
Alejandro Duque Salazar le 6 Jan 2020
Modifié(e) : Stephen23 le 6 Jan 2020
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?

Réponse acceptée

Stephen23
Stephen23 le 6 Jan 2020
Modifié(e) : Stephen23 le 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:

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by