MATLAB 二維數組與矩陣之間有很大的相關性,二維數組是由實數或複數排列成矩形構成的,而且從數據結構上看,矩陣和二維數組沒有區別。
本節將講解 MATLAB 二維數組的兩種創建方式。
矩陣的生成可以通過在方括號[ ]中輸入元素實現,不同行之間要用分號;隔開,不同列用空格或者逗號,隔開。
例如,生成一個 2×3 的矩陣:
>> a=[1,2,3; 2,3,4]
a =
1 2 3
2 3 4
可以用冒號快速建立矩陣,步長在默認的情況下為 1,也可以自定義步長。具體程序如下:
>> A=[1:3; 4:6]
A =
1 2 3
4 5 6
>> B=[2:3:11; 4:2:10]
B =
2 5 8 11
4 6 8 10
MATLAB 中提供了很多用於生成矩陣的函數,請看下表。
請看下面的例子:
>> ones(2,4) %產生(2x4)全 1 數組ans = 1 1 1 1 1 1 1 1>> randn('state',0) %把正態隨機數發生器置 0>> randn(2,3) %產生正態隨機陣ans = -0.4326 0.1253 -1.1465 -1.6656 0.2877 1.1909>> D=eye(3) %產生 3x3 的單位陣D = 1 0 0 0 1 0 0 0 1>> diag(D) %取 D 陣的對角元ans = 1 1 1>> diag(diag(D)) %外 diag 利用一維數組生成對角陣ans = 1 0 0 0 1 0 0 0 1>> randsrc(3,20,[-3,-1,1,3],1) %在 [-3,-1,1,3] 上產生 3x20 均布隨機數組,隨機發生器的狀態設置為 1ans = 1 至 10 列 -1 -1 -3 1 -3 1 -3 3 3 -3 1 -3 -1 -1 3 -1 -3 -1 3 -3 -3 -3 -1 1 -3 1 3 1 -3 3 11 至 20 列 -3 1 1 3 -1 -1 -1 1 -1 -3 -1 1 3 3 3 3 -3 -3 -3 1 3 -1 -3 1 -3 -1 -3 -1 1 1