Using Variable Contents to Create Variable names
28 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Brian
el 27 de Feb. de 2012
Comentada: Stephen23
el 7 de Jul. de 2017
I have two variables (RtnType and MyPG) each with their values down the rows. I would like to write the results of my code loop as I iterate through these variables to the proper variable derived by combining the values of these two variables.
RtnType = {'Daily' 'RollWeek' 'RollMonth' 'RollQtr' 'YTD' 'RollYear' 'SinceIncept'};
MyPG = {'MTAC' 'MTAM' 'MTAG' 'MLCE'};
for i = 1:4
for x = 1 to 7
MyMedian = [1.5];
%Desired Concatenation look
%MyPG{i,1} & '_' & RtnType{x,1} = [MyPG{i,1} & '_' & RtnType{x,1},[DailyMedian]
%Actual statement result for i=1 and x=1
MTAC_Daily = [MTAC_Daily; MyMedian]
end
end
Can someone show me how to write the results of each loop to different vectors that have been pre-created?
Thanks a lot, Brian
1 comentario
Stephen23
el 7 de Jul. de 2017
Do NOT waste your time writing bad code that creates separate variables with numbered variable names: "A frequent use of the eval function is to create sets of variables such as A1, A2, ..., An, but this approach does not use the array processing power of MATLAB and is not recommended."
Just use indexing: simple, fast, efficient, neat, simple, easy to understand, much less buggy, easier to debug, etc, etc, etc.
https://www.mathworks.com/matlabcentral/answers/143-how-do-i-make-a-series-of-variables-a1-a2-a3-a10
etc, etc, etc.
Respuesta aceptada
Jonathan Sullivan
el 27 de Feb. de 2012
eval([MyPG{i} '_' RtnType{x} '= [' MyPG{i} '_' RtnType{x} ',' num2str(MyMedian) '];'])
Más respuestas (1)
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!