我想在函数的开头定义一个索引变量,以便随后索引几个向量。索引应指向特定元素(例如元素nr 3)或指向矢量的最后一个条目。Matlab对特定元素或最后一个元素的索引变量
我希望能够使索引变量字符串和评估它。
在特定元素的情况下,这将是:
idx = '3';
vector1(eval(idx))
vector2(eval(idx))
这工作。但对于最后一个元素的方法失败:
idx = 'end';
vector1(eval(idx))
vector2(eval(idx))
一样的eval(“端”),它引发以下错误:
Error: Illegal use of reserved keyword "end".
有谁知道一个解决方案是如何建立一个索引变量,以便它可以索引到特定元素或具有未知大小的向量的最后一个元素?
谢谢!
什么是制作索引变量“的字符串”的目的是什么?我不明白刚使用'vector(end)'有什么问题。这就是'end'关键字的作用。你使用'eval'意味着'end'是不允许的变量。无需将其作为变量存储,无论如何你都不能。这是一个**保留的**关键字。降低我的(删除)答案无助于解决您的问题。很多其他的MATLAB用户会问你同样的问题。 – rayryeng
为什么让索引变量为一个字符串? – Setsu
首先,摆脱字符串索引。其次,使用'length(vector1)'或'length(vector2)'明确地建立索引向量。如果这意味着您将无法使用相同的索引向量,请开始考虑其他解决方案,如索引生成函数。 – Peter