Combining variables
显示 更早的评论
I have written a code that generates 20 strings (the number actually varies depending on the input), all of which have the names "s_idx_?" where ? is a number from 1 to 20. Is there a command that allows me to concatenate all these strings without having to type out all the names? Thanks.
5 个评论
Nathan Greco
2011-7-19
First: it is generally nicer to create one data structure to contain all of these strings rather than creating a variable per string. Look up cell arrays, they are your friend. Rather than calling your strings s_idx_?, you could just call them s{?} where ? is your old number.
E. Elgar
2011-7-19
Sean de Wolski
2011-7-19
POISON!! EVAL!! Don't do it!!
E. Elgar
2011-7-20
采纳的回答
更多回答(1 个)
Jan
2011-7-20
Follow Sean's link to the FAQ. There you find the suggestion to use a cell like "s_idx{i}" instead of including the index in the name of the variables. Thjen the concatenation is easy:
s = cat(2, s_idx{:});
类别
在 帮助中心 和 File Exchange 中查找有关 Variables 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!