通信系统中的软件仿真_第1页
通信系统中的软件仿真_第2页
通信系统中的软件仿真_第3页
通信系统中的软件仿真_第4页
通信系统中的软件仿真_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信系统中的软件仿真通信系统中的软件仿真 第二讲 数值数组及其运算 通信系统中的软件仿真通信系统中的软件仿真 一、一维数组的创建和寻访一、一维数组的创建和寻访 1、一维数组的创建、一维数组的创建 (1)逐个元素输入法)逐个元素输入法 例:例:x=2 pi/2 sqrt(3) 3+5i x= 2.0000 1.5708 1.7321 3.0000+5.0000i (2)冒号生成法)冒号生成法 该法通过该法通过“步长步长”设定,生成一维设定,生成一维“行行”数组的方法。数组的方法。 例:例:x=a:inc:b%inc是采样点的步长是采样点的步长 (3)定数线性采样法)定数线性采样法 该法在设定的该

2、法在设定的“总点数总点数”下,均匀采样生成一维下,均匀采样生成一维“行行”数组。数组。 例:例:x=linspace(a,b,n) %a,b分别是生成数组的第一和最分别是生成数组的第一和最 后一个元素,后一个元素,n是采样总点数。是采样总点数。 通信系统中的软件仿真通信系统中的软件仿真 (4)定数对数采样法)定数对数采样法 该法在设定的该法在设定的“总点数总点数”下,经下,经“常用对数常用对数”采样生成一维采样生成一维 “行行”数组数组 例:例:x=logspace(a,b,n) %a,b分别代表生成数组的第一分别代表生成数组的第一 和最后元素分别为:和最后元素分别为:10a,10b,n是采样

3、点数。是采样点数。 2、一维数组的子数组寻访和赋值、一维数组的子数组寻访和赋值 【例例1 1】子数组的寻访。子数组的寻访。 rand(state,0) %把均匀分布伪随机发生器置为把均匀分布伪随机发生器置为0 0 x=rand(1,5) % %产生(产生(1 15 5)的均匀分布随机数组)的均匀分布随机数组 x =x = 0.9501 0.2311 0.6068 0.4860 0.8913 0.9501 0.2311 0.6068 0.4860 0.8913 x(3)%寻访数组寻访数组x的第三个的第三个 ans =ans = 0.60680.6068 通信系统中的软件仿真通信系统中的软件仿真

4、x(1 2 5) %寻访数组的第一、二、五元素组成的子数组 ans =ans = 0.9501 0.2311 0.89130.9501 0.2311 0.8913 x(1:3) %寻访数组前三个元素组成的子数组 ans =ans = 0.9501 0.2311 0.6068 0.9501 0.2311 0.6068 x(3:end) %寻访除三个元素外的全部其它元素。end是最 后一个元素的下标 ans =ans = 0.6068 0.4860 0.8913 0.6068 0.4860 0.8913 x(3:-1:1) %由前3个元素倒排构成的子数组 ans =ans = 0.6068 0.2

5、311 0.9501 0.6068 0.2311 0.9501 x(find(x0.5) %由大于0.5 的元素构成的子数组 ans =ans = 0.9501 0.6068 0.8913 0.9501 0.6068 0.8913 通信系统中的软件仿真通信系统中的软件仿真 x(1 2 3 4 4 3 2 1) %对元素可以重复寻访,使所得数组长 度允许大于原数组 ans =ans = Columns 1 through 7 Columns 1 through 7 0.9501 0.2311 0.6068 0.4860 0.4860 0.6068 0.2311 0.9501 0.2311 0.6

6、068 0.4860 0.4860 0.6068 0.2311 Column 8 Column 8 0.9501 0.9501 二、二维数组的创建二、二维数组的创建 1、直接输入法、直接输入法 【例例2】在在MATLAB环境下,用下面三条指令创建二维数组环境下,用下面三条指令创建二维数组C。 a=2.7358; b=33/79; C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i C = 1.0000 5.4716 + 0.4177i 0.6909 0.7071 4.8244 3.5000 + 1.0000i 通信系统中的软件仿真通信系统中的软件仿真 注意事

7、项:注意事项: 整个数组必须以方括号为其首尾整个数组必须以方括号为其首尾 数组的行与行之间必须用分号或回车隔离;数组的行与行之间必须用分号或回车隔离; 数组元素必须由逗号或空格分隔。数组元素必须由逗号或空格分隔。 2、利用、利用M文件创建和保存数组文件创建和保存数组 (1)打开文件编辑调试器,并在空白填写框中输入以下内容)打开文件编辑调试器,并在空白填写框中输入以下内容 % MyMatrix.mCreation and preservation of matrix AM AM=101,102,103,104,105,106,107,108,109;. 201,202,203,204,205,2

8、06,207,208,209;. 301,302,303,304,305,306,307,308,309; (2)保存此文件,并文件起名为)保存此文件,并文件起名为MyMatrix.m (3)只要在指令窗中运行此文件,数组)只要在指令窗中运行此文件,数组AM就会自动生成于就会自动生成于 Matlab内存中内存中. 通信系统中的软件仿真通信系统中的软件仿真 3利用冒号表达式建立一个向量利用冒号表达式建立一个向量 冒号表达式可以产生一个行向量,一般格式是:冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3 其中其中e1为初始值,为初始值,e2为步长,为步长,e3为终止值。为终止值。 4建

9、立大矩阵建立大矩阵 大矩阵可由方括号中的小矩阵或向量建立起来。例如:大矩阵可由方括号中的小矩阵或向量建立起来。例如: A=1,2,3;4,5,6;7,8,9; C=A,eye(size(A);ones(size(A),A C = 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 9 通信系统中的软件仿真通信系统中的软件仿真 三、二维数组元素的标识三、二维数组元素的标识 1、“全下标全下标”标识标识 全下标标识由两个下标组成:行下标、列下标全下标标识由两个下标组成:行下标、列下标 2、“单下标单下标”标识标

10、识 单下标标识就是由一个下标来指明元素在数组中的位置单下标标识就是由一个下标来指明元素在数组中的位置 3、“逻辑逻辑1”标识标识 寻找数组中所有大于某值的元素的问题。寻找数组中所有大于某值的元素的问题。 【例例3】找出数组找出数组 53113 42024 A 中所有绝对值大于中所有绝对值大于3的元素。的元素。 A=zeros(2,5);%预生成一个(预生成一个(25)全零数组)全零数组 A(:)=-4:5%运用运用“全元素全元素”法向法向A赋值赋值 L=abs(A)3%产生与产生与A同维的同维的“01”逻辑值数组逻辑值数组 islogical(L)%判断判断L是否逻辑值数组。输出若为是否逻辑值

11、数组。输出若为1,则,则 是是 X=A(L)%把把L中逻辑值中逻辑值1对应的对应的A元素取出元素取出 通信系统中的软件仿真通信系统中的软件仿真 A = -4 -2 0 2 4 -3 -1 1 3 5 L = 1 0 0 0 1 0 0 0 0 1 ans = 1 X = -4 4 5 通信系统中的软件仿真通信系统中的软件仿真 四、二维数组的子数组寻访和赋值四、二维数组的子数组寻访和赋值 子数组的寻访和赋值子数组的寻访和赋值使用说明使用说明 A(r,c)A(r,c)它由它由A A的的“r r指定行指定行”和和“c c指定列指定列”上的元素组成上的元素组成 A(r,:)A(r,:)它由它由A A的

12、的“r r指定行指定行”和和“全部列全部列”上的元素组成上的元素组成 A(:,c)A(:,c)它由它由A A的的“全部行全部行”和和“c c指定列指定列”上的元素组成上的元素组成 A(:)A(:)“单下标全元素单下标全元素”寻访,它由寻访,它由A A的各列按自左至右的次序,首的各列按自左至右的次序,首 尾相接而生成尾相接而生成“一维长列一维长列”数组数组 A(s)A(s)“单下标单下标”寻访,生成寻访,生成“s s指定指定”一维数组,一维数组,s s若是若是“行数组行数组” (或列数组),则(或列数组),则A(s)A(s)是长度相同的是长度相同的“行数组行数组”(或列数组(或列数组 A(L)A

13、(L)“逻辑逻辑1”1”寻访,生成一维列数组,由与寻访,生成一维列数组,由与A A同样大小的同样大小的”逻辑数逻辑数 组组L L中的中的“1”1”元素选出元素选出A A的对应元素,按单下标次序排成长列的对应元素,按单下标次序排成长列 A(r,c)=SaA(r,c)=Sa以以“双下标双下标”方式,对子数组方式,对子数组A(r,c)A(r,c)进行赋值,进行赋值,SaSa的的“行宽,列行宽,列 长长”必须与必须与A(r,c)A(r,c)的的“行宽、列长行宽、列长”相同相同 A(:A(:)=D(:)=D(:)全元素赋值方式,结果保持全元素赋值方式,结果保持A A的行宽、列长不变,条件是的行宽、列长不

14、变,条件是A A、D D 两个数组的总元素数相等,但行宽、列长不一定相同两个数组的总元素数相等,但行宽、列长不一定相同 A(s)=SaA(s)=Sa按单下标方式对按单下标方式对A A的部分元素重新赋值,结果保持的部分元素重新赋值,结果保持A A的行宽、列的行宽、列 长不变,长不变,s s单下标数组的长度必须与单下标数组的长度必须与“一维数组一维数组”SaSa的长度相等。的长度相等。 通信系统中的软件仿真通信系统中的软件仿真 1矩阵元素的提取矩阵元素的提取 通过下标引用矩阵的元素,例如,通过下标引用矩阵的元素,例如,A(3,2)=8 采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就采用矩阵元素

15、的序号来引用矩阵元素。矩阵元素的序号就 是相应元素在内存中的排列顺序。是相应元素在内存中的排列顺序。 矩阵元素按列存储,先第一列,再第二列,依次类推。矩阵元素按列存储,先第一列,再第二列,依次类推。 例如例如 A=1,2,3;4,5,6; A(3) ans = 2 序号序号(Index)与下标与下标(Subscript )是一一对应的,以是一一对应的,以 mn矩阵矩阵A为例,矩阵元素为例,矩阵元素A(i,j)的序号为的序号为(j-1)*m+i。其。其 相互转换关系也可利用相互转换关系也可利用sub2ind和和ind2sub函数求得。函数求得。 通信系统中的软件仿真通信系统中的软件仿真 2矩阵的

16、拆分矩阵的拆分 (1) 利用冒号表达式获得子矩阵利用冒号表达式获得子矩阵 A(:,j)表示取表示取A矩阵的第矩阵的第j列全部元素;列全部元素;A(i,:)表示表示 A矩阵第矩阵第i行的全部元素;行的全部元素;A(i,j)表示取表示取A矩阵第矩阵第i行、行、 第第j列的元素。列的元素。 A(i:i+m,:)表示取表示取A矩阵第矩阵第ii+m行的全部元素;行的全部元素; A(:,k:k+m)表示取表示取A矩阵第矩阵第kk+m列的全部元素,列的全部元素, A(i:i+m,k:k+m)表示取表示取A矩阵第矩阵第ii+m行内,并在行内,并在 第第kk+m列中的所有元素。列中的所有元素。 还可利用一般向量

17、和还可利用一般向量和end运算符来表示矩阵下标,运算符来表示矩阵下标, 从而获得子矩阵。从而获得子矩阵。end表示某一维的末尾元素下标。表示某一维的末尾元素下标。 例如:例如: 通信系统中的软件仿真通信系统中的软件仿真 C(1,4,3:end) ans =ans = 3 1 0 0 3 1 0 0 1 1 2 3 1 1 2 3 (2) 利用空矩阵删除矩阵的元素利用空矩阵删除矩阵的元素 在在MATLAB中,定义中,定义 为空矩阵。给变量为空矩阵。给变量X赋赋 空矩阵的语句为空矩阵的语句为X= 。注意,。注意,X= 与与clear X不同,不同, clear是将是将X从工作空间中删除,而空矩阵则

18、存在从工作空间中删除,而空矩阵则存在 于工作空间中,只是维数为于工作空间中,只是维数为0。 C = 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 9 通信系统中的软件仿真通信系统中的软件仿真 【例例4】不同赋值方式示例。不同赋值方式示例。 A=zeros(2,4) %创建创建(2*4)的全零数组的全零数组 A = 0 0 0 0 0 0 0 0 A(:)=1:8 %全元素赋值方式全元素赋值方式 A = 1 3 5 7 2 4 6 8 s=2 3 5 %产生单下标数组行数组产生单下标数组行数组 s =

19、2 3 5 A(s)%由由“单下标行数组单下标行数组”寻访产生寻访产生A元素组成的行数组元素组成的行数组 ans = 2 3 5 通信系统中的软件仿真通信系统中的软件仿真 Sa=10 20 30%Sa是长度为是长度为3的的“列数组列数组” Sa = 10 20 30 A(s)=Sa %单下标方式赋值单下标方式赋值 A = 1 20 30 7 10 4 6 8 A(:,2 3)=ones(2) %双下标赋值方式:把双下标赋值方式:把A的第的第2、3列元素列元素 全赋为全赋为1 A = 1 1 1 7 10 1 1 8 通信系统中的软件仿真通信系统中的软件仿真 【例例5】演示演示pow2的数组运算

20、性质。的数组运算性质。 A=1:4;5:8 %生成生成A(2*4)数组数组 A = 1 2 3 4 5 6 7 8 pow2(A) %计算计算2的幂也生成数组的幂也生成数组 ans = 2 4 8 16 32 64 128 256 五、执行数组运算的常用函数五、执行数组运算的常用函数 通信系统中的软件仿真通信系统中的软件仿真 六、数组运算和矩阵运算六、数组运算和矩阵运算 【例例 6】两种不同转置的比较两种不同转置的比较 clear;A=zeros(2,3); A(:)=1:6; %全元素赋值全元素赋值 A=A*(1+i) %运用标量与数组乘产生复数矩阵运用标量与数组乘产生复数矩阵 A_A=A.

21、 %数组转置,即非共轭转置数组转置,即非共轭转置 A_M=A %矩阵转置,即共轭转置矩阵转置,即共轭转置 A = 1.0000 + 1.0000i 3.0000 + 3.0000i 5.0000 + 5.0000i 2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000i A_A = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000 + 6.0000i A_M = 1.0000 - 1.0000i 2.0000 - 2

22、.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i 6.0000 - 6.0000i 通信系统中的软件仿真通信系统中的软件仿真 指令指令含义含义指令指令含义含义 A.A. 非共轭转置,相当于非共轭转置,相当于 conj(Aconj(A ) ) A-BA-B对应元素相减对应元素相减 A=sA=s把标量把标量s s赋给赋给A A的每个元素的每个元素A.A.B B对应元素相乘对应元素相乘 s+Bs+B标量标量s s分别与分别与B B元素之和元素之和A./BA./BA A的元素被的元素被B B的对应元素除的对应元素除 s-B,B-ss-B

23、,B-s标量标量s s分别与分别与B B元素之差元素之差B.AB.A(一定与上相同)(一定与上相同) s.s.* *A A标量标量s s分别与分别与B B元素之积元素之积exp(A)exp(A)以自然数以自然数e e为底,分别以为底,分别以A A的元素为的元素为 指数,求幂指数,求幂 s./B,B.s./B,B. s s s s分别被分别被B B的元素除的元素除log(A)log(A)对对A A的各元素求对数的各元素求对数 A.nA.nA A的每个元素自乘的每个元素自乘n n次次sqrt(A)sqrt(A) 对对A A的各元素求平方根的各元素求平方根 A.pA.p对对A A各元素分别求非整数幂

24、各元素分别求非整数幂f(A)f(A)求各元素的函数值求各元素的函数值 p.Ap.A以以p p为底,分别以为底,分别以A A的元素为的元素为 指数求幂指数求幂 A AB BA A、B B阵对应元素间的关系运算阵对应元素间的关系运算 A+BA+B对应元素相加对应元素相加A AB BA A、B B阵对应元素间的逻辑运算阵对应元素间的逻辑运算 运算指定形式运算指定形式 通信系统中的软件仿真通信系统中的软件仿真 八、标准矩阵生成函数和数组操作函数八、标准矩阵生成函数和数组操作函数 1通用的标准矩阵通用的标准矩阵 常用的产生通用特殊矩阵的函数有:常用的产生通用特殊矩阵的函数有: zeros:产生全:产生全

25、0矩阵矩阵(零矩阵零矩阵)。 ones:产生全:产生全1矩阵矩阵(幺矩阵幺矩阵)。 eye:产生单位矩阵。:产生单位矩阵。 rand:产生:产生01间均匀分布的随机矩阵。间均匀分布的随机矩阵。 randn:产生均值为:产生均值为0,方差为,方差为1的标准正态分布随机矩阵。的标准正态分布随机矩阵。 通信系统中的软件仿真通信系统中的软件仿真 【例例】分别建立分别建立33、32和与矩阵和与矩阵A同同 样大小的零矩阵。样大小的零矩阵。 解:解: (1) zeros(3) (2) zeros(3,2) (3) 设设A为为23矩阵,则可以用矩阵,则可以用zeros(size(A) 建立一个与矩阵建立一个与

26、矩阵A同样大小零矩阵。同样大小零矩阵。 A=1 2 3;4 5 6; %产生一个产生一个23阶矩阵阶矩阵A zeros(size(A) %产生一个与矩阵产生一个与矩阵A同样同样 大小的零矩阵大小的零矩阵 通信系统中的软件仿真通信系统中的软件仿真 【例例】建立随机矩阵:建立随机矩阵: (1) 在区间在区间20,50内均匀分布的内均匀分布的5阶随机矩阶随机矩 阵。阵。 (2) 均值为均值为0.6、方差为、方差为0.1的的5阶正态分布随阶正态分布随 机矩阵。机矩阵。 解:解: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 通信系统中的软件仿真通信系统中的

27、软件仿真 2用于专门学科的特殊矩阵用于专门学科的特殊矩阵 (1) 魔方矩阵魔方矩阵 魔方矩阵有一个有趣的性质,其每行、每列及两条魔方矩阵有一个有趣的性质,其每行、每列及两条 对角线上的元素和都相等。对于对角线上的元素和都相等。对于n阶魔方阵,其元素阶魔方阵,其元素 由由1,2,3,n2共共n2个整数组成。个整数组成。 MATLAB提供了求魔方矩阵的函数提供了求魔方矩阵的函数magic(n),其,其 功能是生成一个功能是生成一个n阶魔方阵。阶魔方阵。 (2)范得蒙矩阵)范得蒙矩阵vander(V) (3)希尔伯特矩阵)希尔伯特矩阵hilb(n) 希尔伯特矩阵的逆矩阵希尔伯特矩阵的逆矩阵invhi

28、lb(n) (4)托普利兹矩阵)托普利兹矩阵toeplitz(x) (5)伴随矩阵)伴随矩阵compan(p) (6)帕斯卡矩阵)帕斯卡矩阵pascal(n) 通信系统中的软件仿真通信系统中的软件仿真 例将例将101125等等25个数填入一个个数填入一个5行行5列的表格中,列的表格中, 使其每行每列及对角线的和均为使其每行每列及对角线的和均为565。 解:解:M=100+magic(5) M =M = 117 124 101 108 115 117 124 101 108 115 123 105 107 114 116 123 105 107 114 116 104 106 113 120 1

29、22 104 106 113 120 122 110 112 119 121 103 110 112 119 121 103 111 118 125 102 109 111 118 125 102 109 通信系统中的软件仿真通信系统中的软件仿真 【例例9】标准数组产生的演示。标准数组产生的演示。 ones(1,2) %产生长度为产生长度为2的全的全1行数组行数组 ans = 1 1 ones(2) %产生(产生(22)全)全1阵阵 ans = 1 1 1 1 randn(state,0) %把正态随机数发生器置把正态随机数发生器置0 randn(2,3) %产生(产生(23)的正态随机阵)的

30、正态随机阵 ans = -0.4326 0.1253 -1.1465 -1.6656 0.2877 1.1909 D=eye(3) %产生(产生(33)的单位阵)的单位阵 D = 1 0 0 0 1 0 0 0 1 通信系统中的软件仿真通信系统中的软件仿真 diag(D) %取取D阵的对角元素阵的对角元素 ans = 1 1 1 diag(diag(D) %内内diag取取D的对角元素,外的对角元素,外diag利用一维利用一维 数组生成对角阵数组生成对角阵 ans = 1 0 0 0 1 0 0 0 1 repmat(D,1,3) %在水平方向在水平方向“铺放铺放”3个个D阵阵 ans = C

31、olumns 1 through 9 1 0 0 1 0 0 1 00 0 1 0 0 1 0 0 10 0 0 1 0 0 1 0 01 通信系统中的软件仿真通信系统中的软件仿真 2、数组操作函数、数组操作函数 【例例 10】diag与与reshape的使用演示。的使用演示。 a=-4:4 %产生一维数组产生一维数组 A=reshape(a,3,3) %把一维数组把一维数组a重排成(重排成(33)的二维数组)的二维数组 a = Columns 1 through 9 -4 -3 -2 -1 0 1 2 34 A = -4 -1 2 -3 0 3 -2 1 4 a1=diag(A,1) %取取

32、A阵阵“第一上对角线第一上对角线”元素元素 a1 = -1 3 通信系统中的软件仿真通信系统中的软件仿真 A1=diag(a1,-1) %产生以a1数组元素为“第一下对角线” 元素的二维数组 A1 = 0 0 0 -1 0 0 0 3 0 A. %转置 ans = -4 -3 -2 -1 0 1 2 3 4 flipud(A) %上下对称交换 ans = -2 1 4 -3 0 3 -4 -1 2 通信系统中的软件仿真通信系统中的软件仿真 九、数组构成技法综合 【11】数组的扩展。 (1)数组的赋值扩展法)数组的赋值扩展法 A=reshape(1:9,3,3) %创建(33)数组A A = 1

33、 4 7 2 5 8 3 6 9 A(5,5)=111 %扩展为(55)数组,扩展部分除(5,5)元素为 111外,其余均为0 A = 1 4 7 0 0 2 5 8 0 0 3 6 9 0 0 0 0 0 0 0 0 0 0 0 111 1、索引扩展数组、索引扩展数组 通信系统中的软件仿真通信系统中的软件仿真 A(:,6)=222 %标量对子数组赋值,并扩展为(标量对子数组赋值,并扩展为(56)数组)数组 A = 1 4 7 0 0 222 2 5 8 0 0 222 3 6 9 0 0 222 0 0 0 0 0 222 0 0 0 0 111 222 (2)多次寻访扩展法)多次寻访扩展法

34、 AA=A(:,1:6,1:6) %相当于指令相当于指令repmat(A,1,2) AA = 1 4 7 0 0 222 1 4 7 0 0 222 2 5 8 0 0 222 2 5 8 0 0 222 3 6 9 0 0 222 3 6 9 0 0 222 0 0 0 0 0 222 0 0 0 0 0 222 0 0 0 0 111 222 0 0 0 0 111 222 通信系统中的软件仿真通信系统中的软件仿真 (3)合成扩展法)合成扩展法 B=ones(2,6) %创建(26)全1数组 B = 1 1 1 1 1 1 1 1 1 1 1 1 AB_r=A;B %行数扩展合成 AB_r

35、 = 1 4 7 0 0 222 2 5 8 0 0 222 3 6 9 0 0 222 0 0 0 0 0 222 0 0 0 0 111 222 1 1 1 1 1 1 1 1 1 1 1 1 通信系统中的软件仿真通信系统中的软件仿真 AB_c=A,B(:,1:5) %列数扩展合成 AB_c = 1 4 7 0 0 222 1 1 2 5 8 0 0 222 1 1 3 6 9 0 0 222 1 1 0 0 0 0 0 222 1 1 0 0 0 0 111 222 1 1 【例12】提取子数组,合成新数组。 A %重显A数组 A = 1 4 7 0 0 222 2 5 8 0 0 22

36、2 3 6 9 0 0 222 0 0 0 0 0 222 0 0 0 0 111 222 通信系统中的软件仿真通信系统中的软件仿真 AB_BA=triu(A,1)+tril(A,-1) %利用操作函数,使主对角元 素为全为0 AB_BA = 0 4 7 0 0 222 2 0 8 0 0 222 3 6 0 0 0 222 0 0 0 0 0 222 0 0 0 0 0 222 AB1=A(1:2,end:-1:1);B(1,:) %灵活合成 AB1 = 222 0 0 7 4 1 222 0 0 8 5 2 1 1 1 1 1 1 通信系统中的软件仿真通信系统中的软件仿真 【例13】单下标

37、寻访和reshape指令演示。 clear A=reshape(1:16,2,8) %变一维数组成(28)数组 A = 1 3 5 7 9 11 13 15 2 4 6 8 10 12 14 16 reshape(A,4,4) %变(28)数组为(44)数组 ans = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 s=1 3 6 8 9 11 14 16; %定义“单下标”数组 A(s)=0 %利用“单下标”数组对A的元素重新赋值 A = 0 0 5 7 0 0 13 15 2 4 0 0 10 12 0 0 通信系统中的软件仿真通信系统中的软件仿真 【例14

38、】“对列(或行)同加一个数”三种的操作方法。 clear,A=reshape(1:9,3,3) A = 1 4 7 2 5 8 3 6 9 b=1 2 3;A_b1=A-b(1 1 1,:) %使A的第1,2,3行分别减b向量 1 2 3 A_b1 = 0 2 4 1 3 5 2 4 6 A_b2=A-repmat(b,3,1) A_b2 = 0 2 4 1 3 5 2 4 6 通信系统中的软件仿真通信系统中的软件仿真 A_b3=A(:,1)-b(1),A(:,2)-b(2),A(:,3)-b(3) A_b3 = 0 2 4 1 3 5 2 4 6 【例15】逻辑函数的运用示例。 randn(

39、state,1),R=randn(3,6) %创建正态随机阵 R = 0.8644 0.8735 -1.1027 0.1684 -0.5523 -0.6149 0.0942 -0.4380 0.3962 -1.9654 -0.8197 -0.2546 -0.8519 -0.4297 -0.9649 -0.7443 1.1091 -0.2 L=abs(R)1.5 %不等式条件运算,结果给了出 逻辑数组 L = 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 通信系统中的软件仿真通信系统中的软件仿真 R(L)=0 %“逻辑1”对应的元素赋0值 R = 0.8644 0.87

40、35 -1.1027 0 -0.5523 -0.6149 0 0 0 0 -0.8197 0 -0.8519 0 -0.9649 -0.7443 1.1091 0 s=(find(R=0)%利用find获得符合关系等式条件的元素“单下标” s = 2 5 6 8 10 11 17 18 R(s)=111 %利用“单下标”定位赋值 R = 0.8644 0.8735 -1.1027 111.0000 -0.5523 -0.6149 111.0000 111.0000 111.0000 111.0000 -0.8197 111.0000 -0.8519 111.0000 -0.9649 -0.74

41、43 1.1091 111.0000 ii,jj=find(R=111); %利用利用find得符合关系等式的元素得符合关系等式的元素“双下标双下标” disp(ii),disp(jj) 2 2 3 2 1 2 2 3 1 2 2 3 4 4 6 6 通信系统中的软件仿真通信系统中的软件仿真 2、数组编辑器扩展数组、数组编辑器扩展数组 双击MATLAB界面工作区中的任一数组变量, 都能打开数组编辑器,对该数组进行编辑操 作 通信系统中的软件仿真通信系统中的软件仿真 3、cat函数扩展数组函数扩展数组 catcat系列函数包括:系列函数包括:catcat,horzcathorzcat和和vertcatvertcat。 不管哪个连接函数,都必须保证被操作的数组不管哪个连接函数,都必须保证被操作的数组 可以被连接,即在某一个方向上尺寸一致。可以被连接,即在某一个方向上尺寸一致。 catcat函数函数 语法:语法:Z=cat(dim,A,B,C,)Z=cat(dim,A,B,C,) horzcathorzcat函数函数 语法:语法:Z=horzcat(A,B,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论