Can I assign a single value to multiple elements of a cell array without a loop
Show older comments
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!
Accepted Answer
More Answers (1)
Guillaume
on 17 Feb 2015
Your main problem is the confusion between () and {}. Secondly, use logical indexing, rather than find:
myArray(cellfun(@isempty, myArray)) = {0};
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!