Eliminate of empty matrix on cell structure.
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi everbody.
I have 1*1724 cell structure and i want to find which cells are not empty matrix.
for l=1:1:1724
if buyuk_elemanlar{1,l}==[];
clear buyuk_elemanlar{1,l}
elseif
???
end
end
I don'nt know how type matlab code after the "elseif"?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/152333/image.png)
댓글 수: 0
답변 (2개)
Jan
2015년 11월 29일
Use isempty instead of | == []|. clear is not useful to remove a single element. Do not remove elements of the cell inside the loop. Because then the loop index does not match the cell index anymore.
Different solutions:
m = false(1, 1724);
for k = 1:1724
if isempty(buyuk_elemanlar{1, k})
m(k) = true;
end
end
buyuk_elemanlar(m) = [];
Or:
m = false(1, 1724);
for k = 1:1724
m(k) = isempty(buyuk_elemanlar{1, k})
end
buyuk_elemanlar(m) = [];
Or:
m = cellfun('isempty', buyuk_elemanlar);
buyuk_elemanlar(m) = [];
The meaning of the "elseif ???" cannot be guessed. What should happen when the cell is not empty?
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!