1 一維數組的建立數組
a)遞增/遞減型一維數組的建立(函數的自變量/for循環中循環自變量)編輯器
i 冒號生成法 x=a:inc:b ps:inc可省略,默認爲1.函數
ii 線性(對數)定點法 x=linspace(a,b,n) 或 x=logspace(a,b,n) ps:n爲總採樣點數,一維數組的長度。spa
b)其餘類型一維數組的建立調試
i 逐個元素輸入 x=[2.2,1.2,4, pi/2,-1] ps:建立方式中括號[],區別於方法圓括號()。io
ii matlab函數生成法 rand(1,n),ones(1,n)等for循環
2 二維數組的建立變量
i 小規模數組的直接輸入(指令窗輸入)隨機數
a) 整個輸入數組收尾必須加方括號「[]」;循環
b)數組的行與行之間必須用分號「 ; 」或回車鍵[Enter]隔離;「 ; 」在方括號「[]」內時,它是數組行間的分隔符。「 ; 」在指令後的結束符時,將不在屏幕上顯示該指令執行後的結果。
c)數組元素必須由逗號「,」或空格號分隔。
ii 中規模數組的數組編輯器建立 主頁||變量||建立變量,輸入數據。ps:如該變量後續還須要調用,能夠將其保存爲.mat文件。
iii 中規模數組的M文件建立 在文件編輯調試器中,空白填寫框中輸入所需數組,保存文件(.m格式)。
iv Matlab函數建立數組
a)非隨機標準數組指令
diag:對角數組;eye:單位數組;magic:魔方數組;ones:全1數組;rand:均勻分佈隨機數組;randi:均勻分佈的整數數組;randn:正態分佈隨機數組;randperm:1~n隨機排列整數;randsrc:指定字符集上生成均勻分佈的隨機數組;zeros:全零數組
am=magic(3)
am=8 1 6
3 5 7
4 9 2
ad=diag(am)
ad=8
5
2
add=diag(diag(am)) %am矩陣對角元陣
add= 8 0 0
0 5 0
0 0 2
b) 隨機數組生成
au=rand(1,5) %元素在[0,1]中均勻分佈的(1*5)隨機數組
au=0.5468 0.5211 0.2316 0.4889 0.6241
ai=randi([-3,4],2,8) %元素在[-3,4]中整數的均勻分佈(2*8)隨機數組
ai=2 -1 -3 4 -3 -1 -2 -3
0 4 4 3 -1 2 2 2
as=randsrc(3,12,[-3,-1,1,3],1) %在[-3,-1,1,3]字符集上產生(3*12)均勻分佈數組;隨機發生器的狀態量設置爲1
as= -1 -1 -3 1 -3 1 -3 3 3 -3 -3 1
1 -3 -1 -1 3 -1 -3 -1 3 -3 -1 1
-3 -3 -1 1 -3 1 3 1 -3 3 3 -1
ap=randperm(8) %8個正整數隨機排列
ap=6 4 7 3 2 8 5 1
2 二維數組元素的標識和尋訪
a)數組的維數(Dimension)和ndims指令 給出數組的維數 ndims(A)
b)數組的大小(size)和size指令 無論A數組的維數是多少,size(A)可給出A各維的大小,而指令length(A)可給出全部維中的最大長度。即length(A)等價於max(size(A))。
全下標法 A(r,c),A(r,:),A(:,c)
單下標法A(:) 「單下標全元素」尋訪由A的各列按自左到右的次序,首尾相接而生成「一維長列」數組
A(s)「單下標」尋訪,生成「s指定的」一維數組。s如果「行列組」(或「列數組」),則A(s)就是長度相同的「行數組」(或「列數組」)
邏輯標識法 A(L) 「邏輯1」尋訪,生成「一維」列數組:由與A一樣大小的「邏輯數據」L中「1「元素選出A的對應元素;按」單下標「次序排成長列組成
a=zeros(2,6)
a(:)=1:12
a=1 3 5 7 9 11
2 4 6 8 10 12
a8=a(8)
a8=8
a311=a([3,11])
a311=3 11
邏輯1尋訪:賦值和獲取
L=A<3 %賦值號右邊:關係比較產生邏輯結果。產生於A維數大小相同的「0,1」邏輯數組;1表示爲「真」,在此L數組中取1的位置對應的A數組元素小於3
A(L)=NaN %邏輯1法尋訪:把邏輯1標識位置的元素賦爲「非數」。
L=1 0 0 0 0 0 1
1 0 0 0 0 0 1
1 1 1 1 1 1 0
A= NaN 3 5 7 9 11 NaN NaN 4 6 8 10 12 NaN NaN NaN NaN NaN NaN NaN 37