2010-05-30 8 views

Respuesta

5

Una solución con aún menos llamadas de función:

[myCell{1:k}] = deal(eye(m)); 
+0

+1: solución mucho más simple que cualquiera de los otros dos. –

2

Prueba esto:

myCell = mat2cell(repmat(eye(m),[1 k]),[m],repmat(m,1,k)) 
+0

Impresionante que lo hizo! –

2

Considere esto:

myCell = arrayfun(@(x)eye(m), 1:k, 'UniformOutput',false) 
3

Aquí hay una muy simple solución REPMAT:

myCell = repmat({eye(m)},1,K); 

Esto simplemente crea una celda con eye(m) en ella, luego replica esa celda K veces.

Cuestiones relacionadas