Cell contents reference from a non-cell array object.

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

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.
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
Adam Danz el 17 de Dic. de 2019
Good eye. I missed that.
Mira le
Mira le el 17 de Dic. de 2019
I mean U = TI(1).Si I replace s by 1
ans Si ={} is a field of struct TI
for example TI(1).Si= {2 3}
Adam Danz
Adam Danz el 17 de Dic. de 2019
The problem is to the left of the equal sign, not the right. See Geoff's comment again.
Mira le
Mira le el 17 de Dic. de 2019
U = TI(s).Si;
it depend on the cells in TI(s).Si
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
Mira le el 18 de Dic. de 2019
but Si is cell, how it won't be cell
Adam Danz
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.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Data Type Identification en Centro de ayuda y File Exchange.

Productos

Versión

R2017a

Etiquetas

Preguntada:

el 17 de Dic. de 2019

Comentada:

el 18 de Dic. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by