cell2mat error in arraycell

1 Ansicht (letzte 30 Tage)
Luca Re
Luca Re am 18 Nov. 2023
Bearbeitet: Walter Roberson am 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'.

Akzeptierte Antwort

Matt J
Matt J am 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

Weitere Antworten (1)

Matt J
Matt J am 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 Kommentar
Walter Roberson
Walter Roberson am 19 Nov. 2023
Bearbeitet: Walter Roberson am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Elementary Math finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by