Creating a new variable in each iteration...
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Doron
el 20 de Feb. de 2012
I want to create a new variable in each iteration of a for loop... x_1, x_2, x_3, etc... up to x_50
count = 0;
for i = 2:2:100
count = count + 1;
x_(...I want "count" to go in here... what is the code to achieve this?...) = i^2
end
Basically, there should be an x_1 = 4 created in the first iteration, x_2 = 16 in the second iteration, etc... up to x_50 = 10000
Thanks
D Howard
Note: I have seen others ask similar questions, with experienced users saying things like "this is a bad idea because it is hard to reference these later..." and they suggest creating a vector, but my problem is more general and this is not an option.
1 comentario
Respuesta aceptada
James Tursa
el 20 de Feb. de 2012
E.g., with the usual caveats about this typically being a bad idea:
eval(['x_' num2str(count) ' = i^2']);
11 comentarios
Jiro Doke
el 20 de Feb. de 2012
Oh I see. Right, you don't want to do that. If you have P already and want to break it up, you should create a different cell array with a different name. Actually, it probably won't let you create it and give you an error.
You may also want to take a look at the function "mat2cell", that allows you to take a regular matrix P and convert to a cell array.
Más respuestas (1)
Walter Roberson
el 20 de Feb. de 2012
As best I recall at the moment, I have not had a need for dynamic variable names since the days I programmed in REXX ... 25 years ago.
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!