MATLAB Answers

How can I extract fields from a structure and create variables in the MATLAB workspace for example i need to extract every row in the field of position as shown below

52 views (last 30 days)
zahra nasir
zahra nasir on 27 Sep 2019
Edited: Stephen on 1 Oct 2019
Capturepp.PNG
  2 Comments
Stephen
Stephen on 1 Oct 2019
"...for example i need to extract every row in the field of position as shown below"
Why do you want to do this?
Currently you can trivially access the data in the structure (using basic indexing and fieldnames), so why would you want to make your data access more complex by splitting your data up into many separate variables?

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 1 Oct 2019
Try this:
for k = 1 : length(particle)
% Extract the Position field for this row into a new variable.
thisRow = particle(k).Position;
% Now do something with thisRow....
end

CARLOS RIASCOS
CARLOS RIASCOS on 1 Oct 2019
You can try to understand a structure from the following code, in which several types of data are defined within a structure called s.
s.a = 1;
s.b = {'A','B','C'};
s.c.f = 4;
Then, you can extract from the structure s, an arbitrary data, for example, to extract the constant 1, in your script you can define the following, from the name with which it was saved in the structure, like this:
H = s.a;
Now, in the Workspace a variable called H with the value of 1 is defined.

Community Treasure Hunt

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

Start Hunting!