Como acumular células de diferentes comprimentos em uma matriz no MATLAB?

Então, eu tenho uma matriz de células de vetores 1xN de diferentes comprimentos. Quero anexá-los em uma matriz para que eu possa exibi-los comimagesc. Obviamente, a matriz deve ter a largura do maior vetor. Meu código atual para isso está abaixo:

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

Alguém conhece uma solução vetorizada para esse tipo de problema? Não estou realmente preocupado com a velocidade desse loop por causa do JIT do MATLAB. Estou apenas tentando expandir meu conhecimento e esse é um caso que me deparo com frequência na minha programação.

questionAnswers(1)

yourAnswerToTheQuestion