How to access randomly selected index in nested structures

조회 수: 1 (최근 30일)
Darina
Darina 2014년 1월 28일
댓글: Darina 2014년 2월 9일
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

채택된 답변

Amit
Amit 2014년 1월 28일
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.

추가 답변 (2개)

Mischa Kim
Mischa Kim 2014년 1월 28일
How about
fileName=structName(i).nestedStructName(randi(365,1)).name
Is this what you are looking for?
  댓글 수: 7
Darina
Darina 2014년 1월 28일
[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 2014년 1월 28일
This happends because I only have nestedStructName1 to nastedStructName365 but not a single naestedStructName without index.

댓글을 달려면 로그인하십시오.


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

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by