How to change variable name in each loop iteration?
1 次查看(过去 30 天)
显示 更早的评论
Say that I have a workspace containing vectors (or cells) with names 'test_1', 'test_b', and 'test_3'. I want to run a for loop (for j=1:3) which will in every iteration run over one of the three vectors in my workspace and perform a certain operation on it. For example:
for j=1:3
test_?(:,1) = 10;
end
This should acceses all elements in the first column of vector test_? and assign value of 10 to them. So my question is how to do this for varying end of the vector name (1, b, 3 in this particular case).
Thank you
0 个评论
回答(1 个)
Azzi Abdelmalek
2015-7-28
编辑:Azzi Abdelmalek
2015-7-28
This is a bad idea http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F
But if you want to learn how to do it:
str={'1','b','2'}
for k=1:3
assignin('base',sprintf('test_%s', str{k}),10)
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Parallel Server 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!