我有:
AB_xy = [4, 3, 5, 9, 10]
我希望通过将两个单独的字符串中的名称组合起来来访问AB_xy
元素:
['AB' '_xy'](1)
我希望这可以返回4
AB_xy(1)
,但这不起作用。建议?
答案 0 :(得分:1)
如果您还包含索引
,eval
可以使用
AB_xy = [4, 3, 5, 9, 10];
eval(['AB', '_xy(1)'])
ans =
4
但总体而言 eval should be avoided ,因为还有其他alternatives。
也许您可以考虑将AB
作为字段xy
的结构。
AB.xy = [4, 3, 5, 9, 10];
str = 'xy';
AB.(str)(1)
ans =
4
答案 1 :(得分:0)
这听起来像eval
问题。
s = strcat('AB', '_xy', '(', '1', ')')
eval(s)
当然,只需将strcat
中的字符串替换为包含要连接的字符串的变量。
我完全赞同@BillBokeey。 eval
通常是代码气味。