access data in structure?
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi.
I store some data in structure :
H0=struct('h',[0,0],'Q_centroid',[0,0],'Q_action',[.5,.51,.5,.51],'Q_table',[0]);
H1=struct('h',[0,2],'Q_centroid',[5,0],'Q_action',[.5,1,.5,1],'Q_table',[1;2]);
L0=struct('H0',H0,'H1',H1);
L0Names = fieldnames(L0);
n=numel(L0Names);
i=1;
for loopIndex = 1:numel(L0Names) 
    stuff = L0.(L0Names{loopIndex});
    w{i}=stuff;
    e(i,:)=w.h;
    i=i+1;
end 
i want to access h in each H0 and H1 in loop and store them  in a matrix 2 by 2 (e=[0 0;0 2]). how can i do this?
i use e(i,:)=w.h but there is an error.
Thanks
0 Commenti
Risposta accettata
  Luna
      
 il 7 Feb 2019
        
      Modificato: Luna
      
 il 7 Feb 2019
  
      You are almost there.
Try this:
H0=struct('h',[0,0],'Q_centroid',[0,0],'Q_action',[.5,.51,.5,.51],'Q_table',[0]);
H1=struct('h',[0,2],'Q_centroid',[5,0],'Q_action',[.5,1,.5,1],'Q_table',[1;2]);
L0=struct('H0',H0,'H1',H1);
L0Names = fieldnames(L0);
n=numel(L0Names);
stuff = nan(numel(L0Names),2); % preallocation
for i = 1:numel(L0Names)     
    stuff(i,:) = L0.(L0Names{i}).h; % goes like this: L0.H0.h, L0.H1.h,.... etc 
end 
0 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Structures in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!