1. 程式人生 > >詳解matlab中.*和*的區別

詳解matlab中.*和*的區別

matlab中點乘和乘的區別

開始學習matlab中,很容易被運算子前是否有“點”而迷惑,我以點乘和乘為例,寫一下自己的理解:

A*B是矩陣乘法
A.*B是A,B的對應元素相乘

初學者看到這還是不能夠理解,我舉個例子,這樣能更加清楚的說明,如下圖
這裡寫圖片描述
這裡有倆個矩陣A和B,我分別寫出了A*B和A.*B的運算過程和結果

注意:還需要想一下,點乘和乘對矩陣的行列要求:

  1. 乘就是矩陣相乘,要求第一個矩陣的行數等於第二個矩陣的列數

  2. 點乘要求第一個矩陣和第二個矩陣的行列完全相同

這也導致我們在編寫程式碼的時候出錯,如
Error using *
Inner matrix dimensions must agree.
就是因為搞混了點乘和乘