how to work with variables with different names in a loop?

106 Ansichten (letzte 30 Tage)
Lucrezia Cester
Lucrezia Cester am 13 Feb. 2021
Kommentiert: VBBV am 19 Mär. 2023
Hello,
I have a bunch of data taken in the lab which has names such as A1,A2... AN ... ETC.
How can I work with these data sets in a loop such as
for a=1:N
B=A{N} *2
end
where N changes at each iteration and inserts the next data set saved with a different name.
Thanks, Cheers.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 13 Feb. 2021
It is never a good idea to create a variable name like this: A1, A2, ..., AN. Read here: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval. There is no good way to access values of these variables in a loop. It is better to create an array which is easier to loop over. For example, create a cell array
A = {A1, A2, A3, .., AN};
for i = 1:numel(A)
B = A{i}*2
end
  2 Kommentare
Lucrezia Cester
Lucrezia Cester am 13 Feb. 2021
Hello, thank you very much for your answer. Can I also ask you, after performing this operation, it only saves the last output.
i=9
for i = 1:numel(A)
B = mat2cell( A{i},[1],[3666 3666 3666 3666 3666 3666])
end
like so
B= 1x6 cell
which is the last iteration where i=9.
instead of
B= (1x9 cell) and inside the cell each of the 9 elements is 1x6
VBBV
VBBV am 19 Mär. 2023
A = {A1, A2, A3, .., AN};
for i = 1:numel(A)
B{i} = A{i}*2;
end
B
Use the for loop index i.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by