Accessing Values From Structure or Cell Aray

6 vues (au cours des 30 derniers jours)
Ibraheem Salim
Ibraheem Salim le 13 Mai 2015
Commenté : Adam le 27 Mai 2015
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 commentaires
Adam
Adam le 13 Mai 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?

Connectez-vous pour commenter.

Réponse acceptée

Adam
Adam le 15 Mai 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 commentaires
Ibraheem Salim
Ibraheem Salim le 27 Mai 2015
Sir Adam,waiting for your answer !!!!
Adam
Adam le 27 Mai 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.

Connectez-vous pour commenter.

Plus de réponses (1)

Ibraheem Salim
Ibraheem Salim le 14 Mai 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

Community Treasure Hunt

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

Start Hunting!

Translated by