vectores una seleccionar programacion matriz matrices matematicas llenar extraer elementos crear columna cambiar agregar arrays matlab matrix max

arrays - seleccionar - ¿Cómo puedo encontrar el máximo de cada dimensión en una matriz de matrices?



seleccionar elementos de una matriz matlab (2)

Mi respuesta original devolvió el elemento máximo de la celda. Ahora incluyendo sus comentarios el código correcto:

knedlsepp básicamente lo consiguió. Menor mejora en el rendimiento:

[a(:,1),a(:,2)]=cellfun(@size,A); max(a)

Me dan una matriz de celdas A que consiste en matrices de diferentes tamaños. Por ejemplo, podría tener una matriz de celdas de tres elementos donde las dimensiones de cada elemento son:

A{1} -> 4 x 3 A{2} -> 16 x 4 A{3} -> 5 x 14

¿Cómo atravesaría la matriz de células y devolvería el máximo para cada dimensión en general? Por ejemplo, el resultado esperado de esta operación con el ejemplo A anterior debería dar:

[16 14]

Esto se debe a que al examinar la primera dimensión, el número máximo de filas sobre las tres matrices es 16. De manera similar, el número máximo de columnas sobre las tres matrices es 14.


Supongo que estás buscando:

max(cell2mat(cellfun(@size,A(:),''uni'',0)),[],1)