Can I assign a single value to multiple elements of a cell array without a loop
显示 更早的评论
For example, I have an array that looks like
myArray =
[3] [] [3] []
I'd like to fill out the empty elements of myArray with zeros, but, obviously, the following doesn't work:
myArray{find(cellfun(@isempty,myArray))} = 0
Obviously, I could write a loop, but there has to be a better way!
Thanks for any suggestions!
采纳的回答
更多回答(1 个)
Guillaume
2015-2-17
Your main problem is the confusion between () and {}. Secondly, use logical indexing, rather than find:
myArray(cellfun(@isempty, myArray)) = {0};
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!