I'm trying to access contents of a cell array which has 4 structures.
celldisp(tracks_array);
gives output:
tracks_array{1} =
kalmanFilter: [1×1 vision.KalmanFilter]
id: 0
totalVisibleCount: 1
bbox: [390 171 70 39]
consecutiveInvisibleCount: 0
age: 1
tracks_array{2} =
kalmanFilter: [1×1 vision.KalmanFilter]
id: 1
totalVisibleCount: 1
bbox: [459 175 40 24]
consecutiveInvisibleCount: 0
age: 1
tracks_array{3} =
kalmanFilter: [1×1 vision.KalmanFilter]
id: 2
totalVisibleCount: 1
bbox: [220 156 159 91]
consecutiveInvisibleCount: 0
age: 1
tracks_array{4} =
kalmanFilter: [1×1 vision.KalmanFilter]
id: 3
totalVisibleCount: 1
bbox: [510 159 68 49]
consecutiveInvisibleCount: 0
age: 1
Then I Use a for loop to iterate through the elements..
for elmen = tracks_array
structtt=cell2struct(elmen(1),{'id','bbox','kalmanFilter','age','totalVisibleCount','consecutiveInvisibleCount'},2);
This gives error of
Error using cell2struct
Number of field names must match number of fields in new structure.
Then I used this inside the for loop
disp(elmen)
celldisp(elmen)
gives,
[1×1 struct]
elmen{1} =
kalmanFilter: [1×1 vision.KalmanFilter]
totalVisibleCount: 1
bbox: [390 171 70 39]
consecutiveInvisibleCount: 0
id: 0
age: 1
I want to access the elements by their field names. How do I do this?
Right now if I try:
elmen.id
or
getfield(elmen,'id')
gives error
Struct contents reference from a non-struct array object.

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 20 de Jul. de 2017

3 votos

structtt = cat(1,tracks_array{:});

3 comentarios

Anand CU
Anand CU el 20 de Jul. de 2017
This worked! thank you so much..
But I want to understand what that does?
Anand CU
Anand CU el 20 de Jul. de 2017
Thank You..

Iniciar sesión para comentar.

Más respuestas (1)

Massimo Zanetti
Massimo Zanetti el 20 de Jul. de 2017

0 votos

1 comentario

Anand CU
Anand CU el 20 de Jul. de 2017
i get Struct contents reference from a non-struct array object. error

Iniciar sesión para comentar.

Categorías

Preguntada:

el 20 de Jul. de 2017

Comentada:

el 20 de Jul. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by