參考:
點乘的話,是對應元素相乘。
沒點的話,按照矩陣相乘法則進行,這就要求前乙個矩陣的列數等於第二個矩陣的行數。
向量也是一樣,兩個向量之間沒有乘法(只有內積和外積,有專門的函式),因此諸如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]
x 與 x的區別
簡單表示式如a 或 a,這兩種寫法代表同樣的意思,比如用在常見的for語句中 但當遞增increase或遞減decrease的運算結果被直接用在其它的表示式中時,它們就代表非常不同的意思了 a 中,變數a的值先增加,然後再計算整個表示式的值,因此增加後的值被用在了表示式的計算中 a 中,變數a的值在...
C 中 x與0x的區別
首先這兩個均表示16進製制,但是用法有所不同。x主要是用於字元的表示 如char ch xa 那麼ch這個字元所代表的是什麼呢?正如上面所說的 x代表的是16進製制,16進製制中的a在十進位制中代表10,那麼ch這個數就代表著序號為10的ascii碼所代表的字元,即 n換行符。0x雖然也代表十六進製...
Matlab中 的 x 處理匿名函式
x 處理匿名函式 匿名函式 提供了建立簡單函式的快速方法,無需每次都建立.m檔案。可以使用以下語法構造乙個匿名函式和該函式的控制代碼 fhandle arglist body 其中,fhandle為函式控制代碼,是定義控制代碼的運算子,代表此函式為匿名函式,body定義函式的主體,arglist是傳...