Cell contents reference from a non-cell array object.
Mostrar comentarios más antiguos
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 comentarios
Adam Danz
el 17 de Dic. de 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
el 17 de Dic. de 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
el 17 de Dic. de 2019
Good eye. I missed that.
Mira le
el 17 de Dic. de 2019
Mira le
el 17 de Dic. de 2019
Adam Danz
el 17 de Dic. de 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
el 18 de Dic. de 2019
Adam Danz
el 18 de Dic. de 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.
Respuestas (0)
Categorías
Más información sobre Data Type Identification en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!