2013-07-11 54 views
0

幾個星期前開始使用MatLab,我不知道正確的語法/術語。使用矩陣中的值作爲方程中的乘數?

我想在後面的公式中使用3x1矩陣中的值作爲乘數。

這是繪製與由用戶通過輸入值定義的半徑和中心點的圓。

我有一個彈出窗口,值由用戶輸入並存儲在此3x1 cell(標記爲answer)。

如何使用該矩陣,answer(2)的第二值,在下面的等式:

X = '答案(2)' * COS(THETA)+ xCentre;

出現此錯誤消息:

Error using .* 
Matrix dimensions must agree. 

Error in Disks (line 40) 
x = 'answer(2)'.* cos(theta) + xCentre; 
+3

難道你有一個字符串''answer(2)''而不是'answer(2)'? – Schorsch

+1

如果'answer'是一個單元格,那麼你還需要使用'answer {2}'(注意大括號),否則你會得到'mtimes not defined for cell'的錯誤。 –

回答

0

MATLAB,撇號('')定義的字符串。如果矩陣的名稱是answer,則可以通過@Schorsch提到的命令answer(2)來引用其第二個值。有關矢量和矩陣的更多信息,可以查看this site

0

除了以前的答案說的話,它的重要,瞭解究竟你在做你這樣做之前。如果你定義了一個字符串,只有在處理變量時纔會添加('')。在你的情況下,你只需要一個矩陣,它不是一個字符串,而是一組數字。如前所述,您可以簡單地回答(2),因爲答案(2)調用矩陣中的第二個值,而'answer(2)'則試圖定義一些不存在的變量。

最重要的是真正瞭解你在做什麼,以避免基本的語法錯誤。