web-dev-qa-db-fra.com

Comment obtenir le nombre de colonnes dans une matrice?

Supposons que je spécifie une matrice A comme

A = [1 2 3; 4 5 6; 7 8 9]

comment interroger A(sans utiliser length(A)) pour savoir s'il contient 3 colonnes?

32
andandandand

Utilisez la fonction size() .

>> size(A,2)

Ans =

   3

Le deuxième argument spécifie la dimension du nombre d'éléments requis, qui sera "2" si vous voulez le nombre de colonnes.

documentation officielle.

73
Scottie T

Bien que size(A,2) soit correct, je trouve qu'il est beaucoup plus lisible de définir d'abord

rows = @(x) size(x,1); 
cols = @(x) size(x,2);

puis utilisez, par exemple, comme ceci:

howManyColumns_in_A = cols(A)
howManyRows_in_A    = rows(A)

Cela peut sembler être une petite sauvegarde, mais size(.., 1) et size(.., 2) doivent être parmi les fonctions les plus couramment utilisées, et elles ne sont pas lisibles de manière optimale.

9
Evgeni Sergeev

Lorsque vous voulez obtenir taille de la ligne avec size () fonction, le code ci-dessous peut être utilisé:

size(A,1)

Une autre utilisation pour cela:

[height, width] = size(A)

Donc, vous pouvez obtenir 2 dimensions de votre matrice.

4
Mustafa Kemal