Convert Cell to Struct

5 vues (au cours des 30 derniers jours)
Anand CU
Anand CU le 20 Juil 2017
Commenté : Anand CU le 20 Juil 2017
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.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 20 Juil 2017
structtt = cat(1,tracks_array{:});
  3 commentaires
Anand CU
Anand CU le 20 Juil 2017
Thank You..

Connectez-vous pour commenter.

Plus de réponses (1)

Massimo Zanetti
Massimo Zanetti le 20 Juil 2017
  1 commentaire
Anand CU
Anand CU le 20 Juil 2017
i get Struct contents reference from a non-struct array object. error

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by