Cell contents reference from a non-cell array object.
Ältere Kommentare anzeigen
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 Kommentare
Adam Danz
am 17 Dez. 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
am 17 Dez. 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
am 17 Dez. 2019
Good eye. I missed that.
Mira le
am 17 Dez. 2019
Mira le
am 17 Dez. 2019
Adam Danz
am 17 Dez. 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
am 18 Dez. 2019
Adam Danz
am 18 Dez. 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.
Antworten (0)
Kategorien
Mehr zu Data Type Identification finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!