我想在函數的開頭定義一個索引變量,以便隨後索引幾個向量。索引應指向特定元素(例如元素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