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

2 vues (au cours des 30 derniers jours)
Smithy
Smithy le 21 Oct 2022
Modifié(e) : Stephen23 le 3 Jan 2023
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...

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Oct 2022
Modifié(e) : Walter Roberson le 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 commentaire
Smithy
Smithy le 21 Oct 2022
Modifié(e) : Stephen23 le 3 Jan 2023
Wow... It works perfectly. Thank you very much. I really appreciate with it.

Connectez-vous pour commenter.

Plus de réponses (1)

David Hill
David Hill le 21 Oct 2022
load input.mat
ismissing(data{2})
ans = logical
1
  1 commentaire
Smithy
Smithy le 21 Oct 2022
Thank you very much for your huge help. It works really well.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by