I have the following code:
br1=cell2mat(br1);
br2=cell2mat(br2);
...
br49=cell2mat(br49);
br50=cell2mat(br50);
How can I loop from br1 to br50? I tried using for n=1:50 eval('br' + n '=cell2mat(br' + n + ');'); but it doesn't work ("error using "+", incompatible array size").

 Akzeptierte Antwort

Jan
Jan am 17 Okt. 2022

0 Stimmen

This is the question asked most frequently by beginners. The answer of the experts is always the same: Don't do this.
This is exhaustively explained here: TUTORIAL: Why and how to avoid Eval
Do not hide an index in the name of a variable, but use an array and an index:
brC = cell(1, 50);
for k = 1:50
brC{k} = cell2mat(br(k));
end
This is some pseudo-code only, because it is not clear, what the contents of your variables is.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by