Cell contents reference from a non-cell array object.
Afficher commentaires plus anciens
why this error appear "Cell contents reference from a non-cell array object"
U = {} at first
U = TI(s).Si;
TI is strict and Si is a field of TI of cell class
sitem = unique([U{:}]);
9 commentaires
Adam Danz
le 17 Déc 2019
U = {};
sitem = unique([U{:}]);
That should not produce an error. The source of the error must be something else or the example isn't accurately reflecting your variables.
Geoff Hayes
le 17 Déc 2019
Mira - U is initialized as a cell array, but then you re-initialize this to whatever Si is
U = TI(s).Si;
Perhaps you mean to do
U{1} = TI(s).Si;
Adam Danz
le 17 Déc 2019
Good eye. I missed that.
Mira le
le 17 Déc 2019
Mira le
le 17 Déc 2019
Adam Danz
le 17 Déc 2019
If TI(s).Si isn't a cell, then U won't be a cell, even if you initialize it as a cell
U = {};
U = TI(s).Si; % you're just overwriting U here
If you use Geoff's suggestions, U will remain as cell.
U = {};
U{1} = TI(s).Si;
Mira le
le 18 Déc 2019
Adam Danz
le 18 Déc 2019
I don't know what your code does. I saw your comment, "for example TI(1).Si= {2 3}" which indicates that Si is a cell array but is that always true? Maybe it is; I don't know.
Réponses (0)
Catégories
En savoir plus sur Data Type Identification dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!