Remplacer les cellules vides avec un 0 logique est avant cell2mat dans MATLAB

J'ai un tableau de cellules vides et celles que je veux convertir en un ensemble logique, où les cellules vides sont des zéros. Lorsque j'utilise cell2mat, les cellules vides sont ignorées, et je me retrouve avec une matrice de uniquement de 1, sans référence à la précédente, de l'indice qu'ils détenaient. Est-il un moyen pour effectuer cette opération sans l'aide de boucles?

Exemple de code:

for n=1:5              %generate sample cell array
    mycellarray{n}=1;
end
mycellarray{2}=[]      %remove one value for testing

Choses que j'ai essayé:

mylogicalarray=logical(cell2mat(mycellarray));

qui résultats dans [1,1,1,1], pas [1,0,1,1,1].

for n=1:length(mycellarray)
    if isempty(mycellarray{n})
       mycellarray{n}=0;
    end
end
mylogicalarray=logical(cell2mat(mycellarray));

qui fonctionne, mais qui utilise des boucles.

InformationsquelleAutor Doresoom | 2010-04-12