How to access randomly selected index in nested structures

1 Ansicht (letzte 30 Tage)
Darina
Darina am 28 Jan. 2014
Kommentiert: Darina am 9 Feb. 2014
I want to access intexes that are into a structure that are nested within another structure. I have this code working through every ith element, and I want to add to the code randomly selected values j. In my case j is from 1 to 365 day of the year.
for i=1:n
fileName=structName(i).nestedStructName(j).name
end
Any ideas?
Darina

Akzeptierte Antwort

Amit
Amit am 28 Jan. 2014
Try something like this:
for i=1:n
X = fieldnames(structName);
n = length(X);
fileName=structName(i).(X{randi(n)}).name;
end
The issue is that your nestedStucture has multiple fields and you wanna pick one randomly.

Weitere Antworten (2)

Mischa Kim
Mischa Kim am 28 Jan. 2014
How about
fileName=structName(i).nestedStructName(randi(365,1)).name
Is this what you are looking for?
  7 Kommentare
Darina
Darina am 28 Jan. 2014
[rS, cS] = size(allFileMin)
[rnS, cnS] = size(allFileMin(rS).demand_pattern)
the answer:
rS =
1
cS =
28
Reference to non-existent field 'demand_pattern'.
Error in Activity (line 136)
[rnS, cnS] = size(allFileMin(rS).demand_pattern)
Darina
Darina am 28 Jan. 2014
This happends because I only have nestedStructName1 to nastedStructName365 but not a single naestedStructName without index.

Melden Sie sich an, um zu kommentieren.


Shivaputra Narke
Shivaputra Narke am 28 Jan. 2014
May this works,
for i=1:n j=1+round(364*rand(1)); fileName=structName(i).nestedStructName(j).name end

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by