How to obtain variables from a structure inside a for loop?
Show older comments
Hello everyone, I have a code to call intensity values which are stored in a structure 's'. The structure 's' has various fields and the field(or variable, I'm not sure what it's called) signal2 has the values I need to access. When I use the following code for just one of the signal2 data's I get the desired output :
Code:
int_val= s.cellList.meshData{1,19}{1,1}.signal2;
int_val(int_val>threshold)=1;
int_val(int_val~=1)=0;
Output:
list of numbers in an excel sheet
({1,19} is a cell inside the field meshData containing the desired values).
However, when I try to create a loop to access each of the cells(1:25),
for j=1:25
int_val= 's_',num2str(i),'.cellList.meshData{1,',num2str(j),'}{1,1}.signal2';
%this ends up creating a character array.
int_val(int_val>threshold)=1;
int_val(int_val~=1)=0;
How do I get the values from the structure?
2 Comments
Stephen23
on 26 Aug 2019
Your examples are inconsistent: your first example shows a variable named s, then your example
's_',num2str(i),'.cellList.meshData{1,',num2str(j),'}{1,1}.signal2'
shows a variable named s_X for some integer X.: which of these is correct?
Also, why are you converting perfectly good indices into strings?
Meghana Balasubramanian
on 26 Aug 2019
Edited: Stephen23
on 26 Aug 2019
Accepted Answer
More Answers (0)
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!