Azzera filtri
Azzera filtri

cell2mat error in arraycell

2 visualizzazioni (ultimi 30 giorni)
Luca Re
Luca Re il 18 Nov 2023
Modificato: Walter Roberson il 19 Nov 2023
Sis=app.StrategyAggreg_UITable2.Data(:,3);
xx=logical(cell2mat(Sis));
Error using cell2mat
All contents of the input cell array must be of the same data type.
Unable to resolve the name 'app.StrategyAggreg_UITable2.Data'.

Risposta accettata

Matt J
Matt J il 19 Nov 2023
load Check
xx=logical([Sis{:}]')
xx = 44×1 logical array
1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0

Più risposte (1)

Matt J
Matt J il 19 Nov 2023
load Check
xx=cellfun(@logical,Sis)
xx = 44×1 logical array
1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0
  1 Commento
Walter Roberson
Walter Roberson il 19 Nov 2023
Modificato: Walter Roberson il 19 Nov 2023
load Check
classes = cellfun(@class, Sis, 'uniform', 0);
unique_classes = unique(classes)
unique_classes = 2×1 cell array
{'double' } {'logical'}
mask = classes == "logical";
unique([Sis{mask}])
ans = 1×2 logical array
0 1
unique([Sis{~mask}])
ans = 1×2
0 1
So Sis contains cells with logical 0 (false) and logical 1 (true), but it also contains cells with numeric 0 and numeric 1.

Accedi per commentare.

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by