2011-10-21 13 views

risposta

60

Utilizzare la funzione size().

>> size(A,2) 

Ans = 

    3 

Il secondo argomento specifica la dimensione dei quali è richiesto il numero di elementi che sarà '2' se si desidera che il numero di colonne.

Official documentation.

+11

Penso che sia generalmente una buona pratica evitare di usare 'length()' sulle matrici e usare 'size()'. quando usi 'length()' devi assumere la dimensione più grande e ho incontrato troppi bug in cui questa ipotesi non era corretta. –

+1

@Scottie cosa significa 2? – gbox

+1

@gbox 2 indica la seconda dimensione della matrice, ovvero il numero di colonne. 'size (A, 1)' ti darà il numero di righe. – Shai

2

Quando vuole ottenere dimensioni fila con dimensioni() funzione, sotto codice può essere utilizzato:

size(A,1) 

Un altro utilizzo per esso:

[height, width] = size(A) 

Quindi, puoi ottenere 2 dimensioni della tua matrice.

+0

non lasciare commenti come risposte. – Shai

+0

Come noob to Octave, grazie per averlo scritto in un modo che lo rende facile da leggere. –

6

Mentre size(A,2) è corretto, lo trovo molto più leggibile per definire prima

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

e quindi utilizzare, per esempio, in questo modo:

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

potrebbe apparire come un piccolo risparmio, ma size(.., 1) e size(.., 2) devono essere alcune delle funzioni più utilizzate e non sono leggibili in modo ottimale così come sono.

Problemi correlati