matlab 數組建立及尋訪

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

相關文章
相關標籤/搜索