我有一個包含這樣的數學函數的字符串:使用數組項作爲替代在MATLAB regexpr
sin(x[1]) + cos(x[2]) + tan(x[3]) + x[1]
現在我想用regexpr的一個字母來代替每個x [數字]。結果應該是這樣的:
sin(a) + cos(b) + tan(c) + a
所以我定義的字母排列如下:
alphabet = ('a':'z')
這是我第一次regexpr,只是每x [數字]替換一個「一」:
regexprep(functionString,'x\[(\d+)\]','${alphabet(1)}');
我試圖用正確的字母替換,使用的是$ 1而不是1.我認爲這不會使用字母表(1),而是動態地在右邊的字母索引處顯示項目。
regexprep(functionString,'x\[(\d+)\]','${alphabet($1)}');
相反,我得到一個錯誤,指數超過矩陣的尺寸。
有人知道我在做什麼錯嗎?我如何得到正確的信件? 在此先感謝!
這工作!但我不知道爲什麼。你能解釋一下(49:74)嗎?謝謝! – selmaohneh
新增說明 – yuval