一、數組的訪問與尋訪
1.創建一維數組變量
法1:逐個元素輸入法
- 所有的向量元素必須在操作符“[ ]”之內
- 向量元素間用空格或逗號分開。
- 輸入元素可以是整數、變量、算式或復數
創建數組(行向量)a=[1 3 pi 3+5i]
a=[1 3 pi 3+5*i] %or a=[1, 3, pi, 3+5*i]
a= 1.0000 3.0000 3.1416 3.0000 + 5.0000i
法2:使用冒號操作符
通過設置開始和結束元素,以及元素之間的間隔 ,三者之間用冒號分隔 x=Start:Increment:End
Start表示向量x的第一個元素;
向量x的所有元素不能大於End ;
Increment是元素之間的間隔,可正可負。若負,則必須Start>End;若正,則必 須Start<End,否則創建的為空向量。
若Increment=1,則可簡寫為:x=Start:End
法3:定數線性采樣法
x= linspace(x1, x2, n)
在設定的“總點數”下,均勻采樣生成一維由n個元素組成的行向量;
x1與x2之間元素的間隔=(x2-x1)/(n-1)。
如果忽略參數n,則系統默認生成100個元素的行向量。
列向量的創建
逐個元素輸入法,使用分號“;”分割行,行向量采用逗號或空格。
2.創建二維數組變量
法1:逐個輸入
- 所有的元素必須在操作符“[ ]”之內
- 行與行之間須用分號“;” 間隔,也可以在分行處用回車鍵間隔;
- 行內元素用空格或逗號“,”間隔。
- 輸入元素可以是整數、變量、算式或復數
法2:函數方法
法3:變量編輯器
法4:M文件
當數組較大或者比較復雜時,將創建數組的指令存入M文件中,下次執行M文件即可在內存中生成數組。
3.數組元素的編址
全下標編址
對於二維數組來說,“全下標”標識由兩個下標組成:行下標,列下標。
指出是“第幾行,第幾列”的元素。
單下標編址
用一個下標來表明元素在數組的位置。
一維編號:先把二維數組的所有列,按先左后右的次序、首尾相接排成“一維長列”;然后,自上往下對元素位置進行編號。
轉換關系
以(m×n)的二維數組A為例,若“全下標”元素位置是“第r行,第c列”,那么相應的“單下標”為l=(c-1) ×m+r。
MATLAB有兩個指令可實現以上表示方法間的轉換:
sub2ind 根據全下標換算出單下標。
Ind2sub 根據單下標換算出全下標。
4.數組元素的尋訪
法1:全下標尋訪
冒號表示所在行或列上的全部元素。
法2:單下標尋訪
采用單個“一維行或列數組”尋訪元素。
首先將數組生成一個一維數組,然后進行尋訪。
法3:邏輯尋訪法
前兩種方法尋訪前都知道被尋訪元素的具體位置,然后采用全下標(單下標)方法根據元素下標來尋訪元素。
邏輯尋訪法則根據“條件”尋訪元素的位置,也稱為“邏輯1”尋訪。
二、數組構建技法綜合
對已有數組進行修改和擴展操作
三、數組運算與矩陣運算
/:右除,A/B表示矩陣A乘以矩陣B的逆。
\:左除, A\B表示矩陣A的逆乘以B。
./:右除, A./B表示數組A中的每個元素除以數組B的對應的元素。
.\:左除, A.\B表示數組B中的每個元素除以數組A中對應的元素。
四、多維數組與復數數組
數組的第一維稱為行,第二維稱為列,第三維稱為頁,第四維稱為箱…
創建方法
法1:直接通過全下標元素賦值方式創建多維數組,按頁賦值
法2:函數法
由函數ones, zeros, rand, randn直接創建標准多維數組;
常用指令
四、非數與空數組
1.非數
按IEEE規定,0/0,∞/∞,0×∞等運算都會產生非數。該非數在MATLAB中用NaN或nan記述。
非數的性質
- NaN參與運算所得的結果也是NaN,即具有傳遞性
- 非數沒有大小概念,因此不能比較兩個非數的大小
非數的作用
- 真實記述0/0,∞/∞,0×∞運算的結果;
- 避免可能因0/0,∞/∞,0×∞運算而造成程序執行的中斷;
- 在數據可視化中,用來裁剪圖形。
2.空數組
“空”數組是MATLAB為操作和表述需要而專門設計的一種數組。
有一個維度是0的數組即為空數組
重要:空數組不是全0數組
空數組不占據存儲空間,但是他是存在的
“空”數組的作用:
對於計算結果中的“空”可以合理地解釋“所得結果的含義”;
運用“空”數組對其他非空數組賦值,可以改變數組的大小,但不能改變數組的維數。
不能使用“全下標”方式刪除單個元素
五、關系操作和邏輯操作
1.關系運算
Matlab提供了6種關系運算符:<、>、<=、>=、==、~=(不等於)
運算法則
2.邏輯運算
Matlab提供了3種邏輯運算符:&(與)、|(或)、~(非)
運算法則
邏輯運算符的運算法則:
1、在邏輯運算中,認定非零元素為真(1),零元素為假(0)。
2、標量與數組進行邏輯運算。運算比較在標量與數組中的每個元素進行比較,運算結果與參與運算的數組同維。
3、數組之間進行邏輯運算。運算在兩數組相同位置上的元素間進行,因此運算結果數組必定和參與運算的數組同維。
4、算術運算優先級最高,邏輯運算優先級最低。