2011-10-21 8 views

Respuesta

60

Utilice la función size().

>> size(A,2) 

Ans = 

    3 

El segundo argumento especifica la dimensión de los cuales se requiere el número de elementos que será '2' si desea que el número de columnas.

Official documentation.

+11

Creo que generalmente es una buena práctica evitar usar 'length()' en matrices y usar 'size()' en su lugar. cuando se usa 'length()' debe suponer cuál es la dimensión más grande, y he encontrado demasiados errores donde esta suposición no era correcta. –

+1

@Scottie ¿qué significa 2? – gbox

+1

@gbox 2 representa la segunda dimensión de la matriz, es decir, el número de columnas. 'size (A, 1)' te dará el número de filas. – Shai

2

Cuando quieren obtener el tamaño fila con size() función, por debajo de código se puede utilizar:

size(A,1) 

Otro uso para ello:

[height, width] = size(A) 

Entonces, puedes obtener 2 dimensiones de tu matriz.

+0

plese no deje comentarios como respuestas. – Shai

+0

Como novato de Octave, gracias por escribir esto de forma que sea fácil de leer. –

6

Mientras size(A,2) es correcto, me parece que es mucho más legible para definir primera

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

y luego utilizar, por ejemplo, así:

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

que podría aparecer como un pequeño ahorro, pero size(.., 1) y size(.., 2) deben ser algunas de las funciones más utilizadas, y no se pueden leer de manera óptima tal como están.

Cuestiones relacionadas