Filter löschen
Filter löschen

Using string saved variables for calculations

2 Ansichten (letzte 30 Tage)
Guillermo Lopez
Guillermo Lopez am 4 Jun. 2012
If I have variables with varying names (Z_1,Z_2,Z_3,etc) with assigned values of z made by num2str as shown below;
for v=1:18
eval(['Z_' num2str(v) '=z'])
end
and each has stored a matrix inside (Z_1 is a 10x10 matrix, and so on for each Z_n), and I want to sum up the matrices without having to enter TotalZ=Z_1+Z_2+Z_3...Z_18, is there any quick way of referring to the variables? I mean, something of the kind of :
TotalZ=sum('Z_'num2str(v))
I can't seem to find a way of using those stored variables to o anything, if I dont enter them directly by hand. I need to know the right way of referring to the variables for using them for any calculation. Thanks in advance.

Akzeptierte Antwort

Titus Edelhofer
Titus Edelhofer am 4 Jun. 2012
Hi,
generally speaking you can do the same as before:
TotalZ = 0;
for v=1:18
TotalZ = TotalZ + eval(['Z_' num2str(v)]);
end
But I would suggest to use cellarrays directly:
allZ = cell(1, 18);
for v=1:18
all{v} = z;
end
Working with the cell array later will be much easier, e.g.,
allZ3D = cat(3, allZ{:});
TotalZ = sum(allZ3D, 3);
Titus

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 4 Jun. 2012

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by