access struct data (matlab) -


a= struct('a1',{1,2,3},'a2',{4,5,6})

how can iget value of 1;

i try use a.a1{1} return errors

>> a.a1{1} ??? field reference multiple structure elements followed more reference blocks error. 

how can access 1? thanks.

edit a = struct{'a1',[1 2 3],'a2',[4 5 6]}

how can access 1. use a(1).a1 1 2 3

you have instead:

a(1).a1 

the reason why because code use create structure creates 3-element structure array first array element contains a1: 1 , a2: 4, second array element contains a1: 2 , a2: 5, , third array element contains a1: 3 , a2: 6.

when use curly braces {} in call struct did, matlab assumes wanting create structure array in distribute contents of cells across structure array elements. if instead want create single 1-by-1 structure element fields contain cell arrays, have add additional set of curly braces enclosing cell arrays, so:

a = struct('a1',{{1,2,3}},'a2',{{4,5,6}}); 

then original a.a1{1} work.

edit:

if create structure using numeric arrays instead of cell arrays, so:

a = struct('a1',[1 2 3],'a2',[4 5 6]); 

then can access value of 1 follows:

a.a1(1) 

for further information working structures in matlab, check out this documentation page.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -