How do i check for empty cells within a list
이전 댓글 표시
How do i check for empty cells within list? I have a list of cells, namelist, and it has 12 values, i need to check if some of the cells are empty. Thanks
채택된 답변
추가 답변 (2개)
topdawgnate
2011년 9월 21일
%Build Cell array (note the curly brackets)
A{1,1} = [1 4 3; 0 5 8; 7 2 9];
A{1,2} = 'Anne Smith';
A{2,1} = 3+7i;
A{2,2} = [];
Use the isempty function
isempty(A{2,2}) %Note the difference "{" and "(" brackets
This function will return 1.
Hope this helps. Nate
댓글 수: 2
Andy
2011년 9월 21일
the cyclist
2011년 9월 21일
Be aware that this solution checks a single element within a cell array. My solution checks every element in the cell array individually, and reports whether each cell is empty or not. That might be more efficient, depending on your application.
Korosh Agha Mohammad Ghasemi
2024년 6월 25일
이동: Voss
2024년 6월 25일
To check for empty cells within a cell array in MATLAB, you can use the cellfun function combined with isempty. This approach is efficient and straightforward. Here’s how you can do it:
% Example cell array
namelist = {'John', [], 'Alice', 'Bob', [], 'Eve', 'Charlie', [], 'Dave', [], 'Frank', 'Grace'};
% Use cellfun with isempty to find empty cells
emptyCells = cellfun(@isempty, namelist);
% Display the indices of empty cells
emptyIndices = find(emptyCells);
disp('Empty cell indices:');
disp(emptyIndices);
This code will create a logical array emptyCells where each element is true if the corresponding cell in namelist is empty and false otherwise. The find function then returns the indices of the empty cells.
If you prefer a faster implementation, especially for large cell arrays, you can use the string form of cellfun:
emptyCells = cellfun('isempty', namelist);
emptyIndices = find(emptyCells);
disp('Empty cell indices:');
disp(emptyIndices);
카테고리
도움말 센터 및 File Exchange에서 Variables에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!