How to name variables in a loop?
Show older comments
I have 3 structures with name
Time1, Time2 and Time3 but I want to rename them in a loop such that it can be rennamed such as
A.Time1,B.Time2,C.Time3
and then within Time1, Time2 and Time3 there are 2 vectors each i.e., Time1.v1 and Time1.v2; Time2.v1 and Time2.v2; Time3.v1 and Time3.v2 respectively. I also want to rename them in a loop as
A.Time1.v1 and A.Time1.v2; B.Time2.v1 and B.Time2.v2; C.Time3.v1 and C.Time3.v2
7 Comments
Walter Roberson
on 4 Jun 2022
Why? Why do you not assign them to the desired name in the first place?
Muhammad Qaisar Fahim
on 4 Jun 2022
Edited: Muhammad Qaisar Fahim
on 4 Jun 2022
Walter Roberson
on 4 Jun 2022
Save each struct to a different file. At an appropriate time, load() with an output variable
model1 = load(...)
model2 = load(...)
now compare model1 and model2
Rather than forcing pseudo-indices into variable names or fieldnames, your code would be simpler and more efficient if you used actual indices.
Muhammad Qaisar Fahim
on 4 Jun 2022
"so for plots say I want to plot"
Aaah, so your question is an example of this:
Rather than telling us about your attempted solution using ugly dynamic variable names, you should explain your actual task/goal/problem that you are trying to solve.
"I am asking this as I have to generate 100 of plots and I cannot repeat the code"
Why not? Use indexing. Every array can be accessed using indexing, including container arrays (e.g. tables, cell arrays and structure arrays). What is stopping you from storing your data in arrays and using indexing?
Muhammad Qaisar Fahim
on 4 Jun 2022
Accepted Answer
More Answers (0)
Categories
Find more on Loops and Conditional Statements 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!