How to create many matrixes in one structure?
2 views (last 30 days)
Show older comments
Hi guys,
I faced such a problem. I have two functions:
1) function sol = CreateRandModel(model)
2) function qnew = CreateNeighbor(q,model)
In the first function, as an output I get an array (fburn_rand) 1x25 with values. In the second function, I would like create a structure Q (?) which will contain for example 100 of such an arrays, I just don't want the values to be mixed inside so it would look like this: Q=[fburn_rand1 fburn_rand2 ... fburn_rand100] and in the same function I would like to switch later two randomly picked whole arrays inside Q, for example Q=[fburn_rand4 fburn_rand2 fburn_rand3 fburn_rand1 ... fburn_rand100] if 1 and 4 elements would be randomly picked. Is the structure a good idea? Maybe it can be done differently?
I would be thankful for every answer.
0 Comments
Answers (1)
Image Analyst
on 16 May 2022
You need an array of structures, or "structure array":
for k = 1 : 100
Q(k).fburn_rand = CreateRandModel(model);
end
To pick two random structures and swap them, I think this will work
randomIndexes = randperm(length(Q), 2);
[Q(randomIndexes(2)), Q(randomIndexes(1))] = deal(Q(randomIndexes(1)), Q(randomIndexes(2)))
0 Comments
See Also
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!