Accessing Values From Structure or Cell Aray

9 views (last 30 days)
Hey Guyz..
I am here with another question,The problem I am facing is the accessing and utilizing the data stored in cell Array or Struct. The Project I am currently working on the calculation of centroid values stored in the struct.
I want to create a function that receives from desired struct,uses the point distance formula and calculate the distances for each and every centroid distances of whole image. I have also attached the image of that struct values....
Thanks in Advance !!!!
  2 Comments
Adam
Adam on 13 May 2015
Which part of the problem are you actually asking the question about?
g(7).Centroid
allows you to access e.g. the Centroid of the 7th element of a struct, but I assume you know that already. Also a for loop or arrayfun can work on the full array of structs. So which part of 'accessing values from structure or cell array' is the problem?

Sign in to comment.

Accepted Answer

Adam
Adam on 15 May 2015
centroidVals = sscanf( g(i).Centroid, '[%f,%f]' )
will give you the i centroid as just a pair of doubles.
Your struct array only has one field so I assume you mean the first two elements of the array rather than fields 1 and 2.
centroidVals = sscanf( g(1:2).Centroid, '[%f,%f]' )
centroidVals = sscanf( g.Centroid, '[%f,%f]' )
will give you the first two centroid values or all centroid values (respectively).
The result will be in a vector list, each centroid starting at an odd index, but it can easily be reshaped or manipulated into another format.
  5 Comments
Adam
Adam on 27 May 2015
Sorry, I can't spare the time to look deep into problems from paper. The original question from the heading was simply regarding accessing values from structures or cell arrays without requiring specific problem knowledge.

Sign in to comment.

More Answers (1)

Ibraheem Salim
Ibraheem Salim on 14 May 2015
Thank you Adam for your kind response and help. As you can see that each field has two values in it separated by "COMMA". I want to get the values from first two fields,let say Field 1 and Field 2; this give us 4 values. I want to a block of code that the values from first two fields passed in a function,from their it get calculated. Could You Help with that two .
Thank you Again in advance

Categories

Find more on Structures 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!