¿Cómo puedo acumular células de diferentes longitudes en una matriz en MATLAB?

Entonces, tengo una matriz de vectores 1xN de diferentes longitudes. Quiero agregarlos a una matriz para poder mostrarlos conimagesc. Obviamente, la matriz debe ser el ancho del vector más grande. Mi código actual para esto está abajo:

tcell = {[1,2,3], [1,2,3,4,5], [1,2,3,4,5,6], [1], []};
lens = cellfun('length', tcell);
rmat = NaN(length(tcell), max(lens));
for i = 1:length(tcell)
    rmat(i, 1:lens(i)) = tcell{i};
end

¿Alguien sabe una solución vectorizada para este tipo de problema? No estoy realmente preocupado por la velocidad de este ciclo debido al JIT de MATLAB. Solo estoy tratando de expandir mi conocimiento y este es un caso que encuentro con bastante frecuencia en mi programación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta