終於放假了!百百今天教一下大家用MATLAB輕鬆解決矩陣數值運算問題!

要運用矩陣,首先要會生成一個你想要的矩陣!
一、建立矩陣
1、直接輸入矩陣


上面這個例子是直接輸入生成矩陣的方法,可以發現輸入方式不同也可以得到相同的結果,大致規則如下:
①把矩陣的元素放在一個方括弧「[ ]」里;
②矩陣之間的元素用逗號或者空格隔開;
③矩陣分行用分號或者回車隔開。
但是萬一我要生成一個很大的矩陣或者未知的矩陣怎麼辦呢?總不能一個個敲,太累了吧!

2、運用函數建立矩陣(一些常用標準矩陣及向量生成方法)
①ones(n) %創建n維全1方陣
ones(n,m)%創建n行m列全1矩陣
②zeros(n) %創建n維全0方陣
zeros(n,m)%創建n行m列全0矩陣
③rand(n) %創建n維隨機方陣
rand(n,m)%創建n行m列隨機矩陣
④向量生成方法:
a=m:n %生成步長為1的均勻向量
a=m:步長:n %步長可以自由設置
linspace(m,n,k):將起始值m終止值n進行k等分的向量。


在了解了一些基本生成矩陣的方法之後,我們可以對相應的元素進行調用或者進行修改,那麼怎麼表示矩陣中的元素呢?
二、元素引用和賦值
簡單的來說,就是定位,對於二維矩陣來說,需要定位幾個東西,首先,找到我們所需的矩陣名!然後第幾行、第幾列:比如H(i,j)中H為矩陣名,i為行數,j為列數,則可以顯示H矩陣中的第i行第j列的元素是什麼。
但有時候,問題比較複雜,我需要提取不止一個值,而是某行、某列、或者某幾行某幾列,該咋整呢?

原則上還是三定位:定位矩陣名;接著定位所需的行;定位所需的列;
差別就在定位行列的表示,比如:我要取出第1-3行數據,第2、第4列數據,則表示為a([1:3],[2,4]),效果如下:


總結一下,「(m:n)」表示取出從m(行/列)到n(行/列)的所有行/列;「(m,n)」表示取出第m(行/列)和第n(行/列);如果直接用「:」,表示取所有行或所有列,如下:

表示取出了B矩陣中第2行的所有列數據。
三、常用運算符號和函數
1、基本運算:
分為矩陣運算和數組運算,差別是數組運算要多加一個點號,例如:「* 矩陣乘法」「.* 數組乘法」;同時需注意矩陣乘法不滿足乘法交換律。
2、關係運算:
==:等於
~=:不等於(注意卻別C語言中不等於為!=)
>=:大於等於
<=:小於等於
3、邏輯運算:真為「1」假為「0」
&:與;
| :或;
~:非;
4、函數:
①[m,n]=size(A); %把矩陣A的行數賦值給m;列數賦值給n
②length(A); %矩陣A的列數
③sum求和;max求最大值;min求最小值;mean求平均值;
④sqrt:平方根;exp:自然指數函數;log:自然對數函數
⑤abs:求絕對值或求複數的模值;angle:求複數的輻角;real:求複數的實部;imag:求複數的虛部;
⑥ceil:向+∞取整;fix:向0取整;floor:向-∞取整;round:向最近整數取整;
⑦mod:模除取余;rem:求餘數
以上這些函數還是很實用滴!記住它們把!!!

下回將教大家如何用MATLAB畫出美美的圖!!(假裝很美)
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/225909.html
微信掃一掃
支付寶掃一掃