How to get the logical index 1 if the cell is missing?

2 views (last 30 days)
Hello everybody,
I have the 2x1 cell array and (2,1) is {1×1 missing}.
To get the logical index 1 about data(2,1) missing, I tried
ismissing, isempty, and contains functions but all does not work...
Please let me know how to get the logical index 1 about the cell(2,1) is missing?
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
load input.mat
% I tried below but all does not work
ismissing(data(2,1))
isempty(data(2,1))
contains(data(2,1),'missing')
% to get the logical index 1 about data(2,1) missing, how to do it...

Accepted Answer

Walter Roberson
Walter Roberson on 21 Oct 2022
Edited: Walter Roberson on 21 Oct 2022
cellfun(@(M) any(ismissing(M)), data)
or if you just want to test the one,
any(ismissing(data{2,1}))
Note that missing is a value that can appear as entries in arrays, so it is possible for an array to have some missing entries and some non-missing entries. The above code checks for cells in which at least one entry is missing, but does not report which of the array elements are missing.
  1 Comment
Smithy
Smithy on 21 Oct 2022
Edited: Stephen23 on 3 Jan 2023
Wow... It works perfectly. Thank you very much. I really appreciate with it.

Sign in to comment.

More Answers (1)

David Hill
David Hill on 21 Oct 2022
load input.mat
ismissing(data{2})
ans = logical
1

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!