how to remove empty cell array contents?
872 ビュー (過去 30 日間)
古いコメントを表示
Hello, I've got a cell array, lets say:
R =
[ 691x2 double]
[]
[]
[]
[]
[ 12x2 double]
[ 11x2 double]
[]
[]
[ 112x2 double]
[ 13x2 double]
Does anyone know of a quick way I could remove the non-zero elements of the cell array? This cell array will be a different length and will have a different number of non-zero elements each time, dependent on another loop
Thanks, Jim
0 件のコメント
採用された回答
Aurelien Queffurust
2012 年 1 月 25 日
To remove empty cell array contents (title of your question) :
R(~cellfun('isempty',R))
12 件のコメント
Chintan Modi
2017 年 5 月 9 日
編集済み: Chintan Modi
2017 年 5 月 9 日
I am also suffering from this problem. I want to delete the empty cells from this "sf" variable (i.e. shown in picture). I wish to delete it from variable so that whenever I try to find column size of the particular row; i'll be able to get only the matrix of that number cell and don't want to count the empty cell. for e.g. if i write
size(sf(3,:),2)
ans i want i.e. 5
but here it shows the 31
can someone help me to solve this problem?
Jan
2017 年 5 月 9 日
@Chintan Modi: Use the flags to catch the attraction to inapropriate messages, not for posting data concerning your problem.
Please do not attach a new question as a comment to an existing answer. Open a new thread instead.
There is no picture. What is the type of your variable sf? size(sf(3,:),2) replies the size of the array and does not care about the contents of the cell elements.
If you want to count the non-empty cells, use:
sum(~cellfun('isempty', sf(3, :))
その他の回答 (1 件)
David Young
2012 年 1 月 25 日
Rnew = R(~cellfun(@isempty, R))
3 件のコメント
Daniel Bridges
2017 年 3 月 1 日
>> data(~structfun(@isempty,data))
Error using structfun
Inputs to STRUCTFUN must be scalar structures.
参考
カテゴリ
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!