參考:http://www.madio.net/thread-27742-1-1.html
點乘的話,是對應元素相乘。
沒點的話,按照矩陣相乘法則進行,這就要求前一個矩陣的列數等於第二個矩陣的行數。
向量也是一樣,兩個向量之間沒有乘法(只有內積和外積,有專門的函數),因此諸如a*b是不合法的;但只要他們的維數一樣,就可以進行對應元素之間的運算,因此a.*b、a./b或a.^2等等都是是可以的。
另外,單獨元素與矩陣(向量)之間的運算可以加點,也可以不加。如2*A和2.*A是等價的。
下面是畫函數曲線的例子。
要畫函數y=x^2,x屬於[-2,2]之間的函數圖像。
首先定義x=-2:.1:2;
注意這樣就產生了一個向量x,因此諸如x^2是不合法的。正確的寫法是
y=x.^2;表示y中的每個元素都是x中對應元素的平方。
最后就可以畫了plot(x,y);
plot函數是將x和y兩個向量的對應元素作為坐標,然后依次連接產生圖像。
當然我們也可以用ezplot產生圖像
但注意ezplot所輸入的參數是符號,不是矩陣或向量。
syms x;這里定義了符號變量x
ezplot(x^2)
因為x是單個的符號,不是向量或矩陣,也就是說他就是一個單獨的元素。所以不用加點,直接平方就可以了。
當然如果寫成x.^2也可以,就和3^2和3.^2一樣,因為單個元素對應點平方和直接平方是等價的。
但是請注意,並不是符號變量就沒有點運算。比如
syms a b c d;
[a b]*[c d]是沒有意義的,因為此時[a b]和[c d]都是向量(雖然里面的元素是符號變量),可以認為是符號元素組成的向量或矩陣。
但[a b].*[c d]是有意義的,表示[a*c b*d]