我有一个空单元格数组,以及要转换为逻辑数组的单元格,其中空单元格为零。当我使用 cell2mat 时,空单元格被忽略,我最终得到一个只有 1 的矩阵,没有参考它们持有的前一个索引。有没有办法在不使用循环的情况下执行此操作?
示例代码:
for n=1:5 %generate sample cell array
mycellarray{n}=1;
end
mycellarray{2}=[] %remove one value for testing
我尝试过的事情:
mylogicalarray=logical(cell2mat(mycellarray));
这导致 [1,1,1,1],而不是 [1,0,1,1,1]。
for n=1:length(mycellarray)
if isempty(mycellarray{n})
mycellarray{n}=0;
end
end
mylogicalarray=logical(cell2mat(mycellarray));
这有效,但使用循环。