數組與矩陣
1 一維數組的建立與提取
1.1 一維數組的建立
-
直接輸入法
從鍵盤直接輸入元素,列與列之間的資料用逗号或空格分隔,行與行之間的資料用分号分隔。(在一行中寫多條語句時,逗号和分号可作為語句間的分隔符。如果用分号,則指令窗不顯示運作結果。)
a=[1;2;3] %%生成列向量
b=[1,2,3] %%生成行向量
c=[1 2 3]
-
冒号生成法
用于産生遞增或遞減的等差數列。格式:
(步長為1時可以省略)初值:步長:終值
a=1:2:6
b=1:6
-
定數線性采樣法
用于産生起止于兩點之間的n個資料點。(n的預設值是100)格式:
x = linspace(a,b,n)
b=linspace(1,6,6)
b=1:6
-
拼接法
利用已有的一維數組建立新的一維數組。将兩個行向量或列向量拼接為一個行向量或列向量,也可以利用冒号抽取其中的部分資料生成新的一維數組。
- 行向量拼接:用方括号和逗号:
a3= [a1,a2]
- 列向量拼接:用方括号和分号:
b3= [b1;b2]
- 向量的抽取:用冒号:
,(抽取a3中的奇數位置的元素組成新的數組)a4= a3(1:2:end)
- 行向量拼接:用方括号和逗号:
1.2 一維數組中元素的提取
A= [1 2 3 4 5]
a3= A(3) %%提取第3個元素
2 二維數組的建立與提取
2.1 二維數組的建立
-
直接輸入法
從鍵盤直接輸入元素。輸入規則如下:
矩陣元素必須在方括号内;
- 同行元素之間用空格或逗号隔開;
- 行與行之間用分号或回車符隔開;
- 元素可以是數值、變量、表達式或函數;
- 矩陣的維數不必預先定義。
a1=[1 2 3; 4 5 6; 7 8 9]
a2=[1,2,3; 4,5,6; 7,8,9]
a3=[1 2 3;
4 5 6;
7 8 9]
- 利用MATLAB函數建立矩陣
函數 | 釋義 |
---|---|
ones( ) | 全1矩陣 |
zeros( ) | 全0矩陣 |
rand( ) | (0,1)區間均勻分布的随機矩陣 |
eye( ) | 機關矩陣 |
randn( ) | 均值為0、方差為1的标準正态随機分布矩陣 |
2.2 二維數組中元素的提取
-
元素的提取
利用圓括号、逗号和行、列索引号。
A=[1 2 3; 4 5 6; 7 8 9]
A(i,j) %%提取第i行、第j列的元素
-
一維數組和子矩陣的獲得
利用冒号和表達式獲得。
A(i,:) %%提取第i行的所有元素
A(:,j) %%提取第j列的所有元素
A(i:i+m,:) %%提取第i~i+m行的所有元素
A(:,k:k+m) %%提取第k~k+m列的所有元素
A(i:i+m, k:k+m) %%提取第i~i+m行、 k~k+m列的所有元素
3 字元數組和空數組
3.1 字元數組
-
字元變量的建立
把待建字元放在單引号中,單引号必須在英文狀态下輸入。
-
字元數組的拼接
利用方括号和逗号進行兩個及以上字元數組的直接拼接。
s1='Beijing'
s2='welcome to'
s=['welcome to', s1] %%無空格
s=[s2, s1] %%無空格
s=['welcome to ', s1] %%有空格
- 字元數組的顯示
disp('Beijing')
disp(s1)
3.2 空數組
是為操作和表述需要專門設計的一種數組。用方括号“
[ ]
”表示。不要與全零數組混淆。唯一能正确判斷一個數組是否為“空”的指令是
isempty
。
