你能从字符串中调用矩阵吗?

时间:2013-12-13 04:13:33

标签: matlab variables matrix call strcat

我必须调用在Matlab中读取一个名称是由strcat创建的矩阵。例如

person = 2;
Index_XNY = strcat('Index_X',num2str(person),'Y');

Big_Index = find(Index_XNY(1,:)==1);

如果我在此示例中将Index_XNY替换为Index_X2Y,则此方法有效。

我尝试了很多不同的东西来获取Big_Index,但到目前为止我还没有成功。可以这样做,因为需要调用大量数据元素。

1 个答案:

答案 0 :(得分:2)

您可以使用eval函数来评估字符串中的Matlab表达式:

expr = strcat('find(Index_X',num2str(person),'Y(1,:)==1)');
Big_Index = eval(expr);

当然,存在许多使用eval函数执行此操作的替代方法,具体取决于您希望将多少字符串放入字符串以及剩余多少。