Assign values in the cell
21 次查看(过去 30 天)
显示 更早的评论
Hi,
I have the 72 x 1 cell named output 1 (attached here).
As shown in the attachment, some cells got empty matrix, I intend to add zero values in the manner of 8x1 into all the all empty cells ..
Any idea how to assign this .. ??
0 个评论
采纳的回答
Rik
2021-7-16
编辑:Rik
2021-7-16
You mean like this?
output1={[1 2;3 4],[]};
L=cellfun(@isempty,output1);
output1(L)={zeros(8,1)};
output1
Note that cellfun has a legacy mode, which is often much faster, but is limited in terms of what data types will work.
5 个评论
Amir Pasha Zamani
2022-4-25
It only works for a single element of the cell.
I need to pre-assign values (let's say zeros(10,10)) to all cell elemenst.
Rik
2022-4-25
@Amir Pasha Zamani L can be a logical array with as many elements as output1 (or fewer). So can you explain what you mean?
To pre-allocate the array you describe I suggest using repmat or repelem:
YouWant=repmat({zeros(10,10)},2,3)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!