1 一维数组的创建
a)递增/递减型一维数组的创建(函数的自变量/for循环中循环自变量)
i 冒号生成法 x=a:inc:b ps:inc可省略,默认为1.
ii 线性(对数)定点法 x=linspace(a,b,n) 或 x=logspace(a,b,n) ps:n为总采样点数,一维数组的长度。
b)其他类型一维数组的创建
i 逐个元素输入 x=[2.2,1.2,4, pi/2,-1] ps:创建方式中括号[],区别于方法圆括号()。
ii matlab函数生成法 rand(1,n),ones(1,n)等
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
转载于:https://www.cnblogs.com/gisyang/p/10739527.html