Could I use a dynamic character or string in a for loop to call a variable with different name?

23 visualizzazioni (ultimi 30 giorni)
I couldn't figure out the best way to ask this question so apology for the confusing title. Let's say I had multiple variables with different name called var1,var2,var3... with values in each.
Is there a way to access each of the variable in such a way like
for k = 1:10
variable(k) = (variable%d,k)
end
So that I can access the variables with different names where %d can take on given integer similar to C language? Another way might be if there was a variable called GreenEggs&Ham and I want to access it like
A = 'GreenEggs'
B = 'Ham'
BreakFast = (%s&%s,A,B);

Risposta accettata

Andrew Reibold
Andrew Reibold il 25 Ago 2014
Modificato: Andrew Reibold il 25 Ago 2014
Use eval , Its really easy! Reads a string as a variable.
Here is an example. Using the base 'var', I increment the variable number and get the data from each one.
var1 = 10
var2 = 20
var3 = 50
for i = 1:3
variables(i) = eval(['var',num2str(i)])
end
  3 Commenti
Yuki Himekawa
Yuki Himekawa il 25 Ago 2014
You're right, it made my life so much easier! I can probably use it for much more applications in future too, thanks!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by