griffey 發問時間: 電腦與網際網路軟體 · 1 0 年前

請教matlab專家

我跑程式時

出現了這樣問題

Error using ==> .*

Matrix dimensions must agree.

這是什麼意思?

我在網路上找到類似相關的問題

http://www.mathworks.com/support/solutions/data/1-...

但我看不懂他的解答

誰可以幫我 謝謝

已更新項目:

我知道 矩陣乘法必須遵守這樣

但我不知道如何解決

2 個解答

評分
  • 老師
    Lv 7
    1 0 年前
    最佳解答

    矩陣的乘法

    [m*p]*[p*n]=[m*n]

    前一個矩陣的行(column)數必須等於後一個矩陣的列(row)數

    這樣矩陣才能相乘

    若是你的矩陣不滿足這個要求

    就會出現以下的錯誤訊息

    Error using ==> .*

    Matrix dimensions must agree.

    關於矩陣乘法請複習你的工程數學課本或是線性代數課本

    2007-01-09 11:24:55 補充:

    我猜你應該是陣列乘法

    這時請用點乘(.*)

    例如

    a=[1,2,2,3,4,5];b=[2,3,-1,0,4,1];

    a為1*6, b為1*6向量(或稱為列向量 因為只有一列)

    c=a.*b 這樣為元素對元素相乘

    c=[2,6,-1,0,16,5]

    同樣的相同size的矩陣也可以使用點乘執行陣列運算

  • 1 0 年前

    恩 我的答案跟他依樣

    他回答的還不錯!!!!!

    呵呵

還有問題?馬上發問,尋求解答。