I have multiple 3x10 tables in my workspace. I want to make a loop that will select a cell, location (2,2) for instance, of the table and save the value of this cell for each of the tables. The tables are called RESP0***_SOZ_TABLE. The '***' are combination of three numbers, like 234, 198, 488.
Numbers is a matrix of the different combinations of numbers, present in my workspace.
Can somebody help me? I have a code that will give '***'_TABLE{2,2}' as a answer, but it doesn't run the code, which is unfortunately because I am interessted in value of (2,2) of 234_TABLE.
for i=1:length(numbers);
j=numbers(i);
value{i} = sprintf('%d_TABLE{2,2}',j);
end

 Réponse acceptée

Duncan Po
Duncan Po le 22 Oct 2021

0 votes

If you want the value in RESP0234_SOZ_TABLE{2,2}, use eval to evaluate that expression:
for i=1:length(numbers);
j=numbers(i);
value{i} = eval(sprintf('RESP0%d_SOZ_TABLE{2,2}',j));
end

1 commentaire

Jonathan Schipper
Jonathan Schipper le 22 Oct 2021
Unbelievable, thank you so much! My code just got 1060 lines shorter!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by