资源描述:
《matlab数组及其运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机仿真第二章MatLab数组及其运算李益兵ahlyb@163.com数值数组(NumeralArray)和数组运算(ArrayOperations)是MatLab的核心内容。MatLab是以复数矩阵作为基本的运算单元,向量和标量都作为特殊的矩阵来处理:向量当作只有一行或一列矩阵,标量则为只有一个元素的矩阵。矩阵只是数组的一种特例,它是二维的数值型数组,表示了一种线性变换关系。矩阵—数值数组的特例矩阵的概念①使计算程序简单、易读,使程序命令更接近于教科书上的数学计算公式;MATLAB精心设计数组和数组运算的
2、目的②提高程序的向量化程度,提高计算效率,节省计算机资源。从外观和数据结构上看,二维数组和数学中的矩阵没有区别。但是,矩阵作为一种变换或影射算子的体现,矩阵运算有着明确而严格的数学规则。数组运算矩阵运算按照线性代数的运算规则进行对数组中的每个元素进行同样的运算第二章MATLAB数组及其运算2.1MATLAB的数据类型2.2数值数组的生成和寻访2.3数组运算和矩阵运算2.4非数和空数组2.5数组的关系运算和逻辑运算2.6字符串数组2.7元胞数组2.8构架数组2.1MATLAB的数据类型数据类型DataTypes数
3、值字符串元胞结构体函数句柄Java类numericcharcellstructurefunctionhandleJavaclass双精度单精度整数类稀疏doublesingleintsparseMATLAB的数据都是以“数组”的形式出现的数据结构数据运算2.2数值数组的生成和寻访数组的生成⑴逐个元素输入法对于较小的简单的数组,从键盘上直接输入,需要遵循以下几个原则:数组(矩阵)中每一行的元素必须用空格或逗号分开在数组(矩阵)中,用分号或回车行表明每一行的结束整个输入数组(矩阵)必须包含在方括号中2.2数值数组的
4、生成和寻访数组的生成⑵冒号生成法x=first:last创建从first开始,加1计数,到last结束的行向量xx=first:increment:last创建从first开始,加增量计数,到last结束的行向量x。Increment可以是负数,或省略则默认为1。若inc>0但是first大于last,或者inc<0但是last大于first,则X是空向量。例2-12.2数值数组的生成和寻访数组的生成⑶定数线性采样法x=linspace(first,last,n)在设定总点数的情况下,均匀采样生成一维行数组。创
5、建从first开始,到last结束,有n个元素的行向量x。n省略默认为100。例2-22.2数值数组的生成和寻访数组的生成⑷利用M文件例2-3对于经常需要调用的且比较大的数组,可专门为该数组创建一个M文件。简单数组创建命令功能x=[2+isqurt(2)2*pi]创建包含指定元素的行向量xx=first:last创建从first开始,加1计数,到last结束的行向量xx=first:increment:last创建从first开始,加增量计数,到last结束的行向量xx=linspace(first,last,
6、n)(线性分隔)创建从first开始,到last结束,有n个元素的行向量xx=logspace(first,last,n)(对数分隔)创建从开始,到结束,有n个元素的行向量x2.2.1常用数组生成例2-4diag产生对角线数组(二维以下)eye产生单位数组(二维以下)magic产生魔方数组(二维以下)每行每列之和相等ones产生全1数组rand产生0、1间均匀分布的随机数组randn产生-1、1间正态分布随机数组zeros产生全0数组diag([3,3,3])eye(3);eye(3,4);eye(4,3);e
7、ye(3,3)ones(2);ones(3,4)magic(3)rand(3);rand(3,4)randn(3);randn(2,3)zeros(3,2);zeros(3)2.2.2数值数组的寻访一维数组的寻访二维数组的寻访格式:X(index)Index可以是单个正整数或正整数数组例2-5格式:A(:,j)表示a矩阵第j列所有元素例2-6A(:,j)A(i,:)表示a矩阵第i行所有元素A(1:3,2:4)表示a矩阵第1-3行,2-4列元素构成的子矩阵指令:size(A)查看矩阵的维数2.3数组运算和矩阵运算
8、2.3.1数组运算的常用函数2.3数组运算和矩阵运算2.3.1数组运算的常用函数2.3数组运算和矩阵运算表2-6数组运算和矩阵运算常用指令对照表例题2-8注意区别例题2-72.3.2数组运算和矩阵运算2.3数组运算和矩阵运算2.3.2数组运算和矩阵运算A=zeros(2,3);A(:)=1:6A=A*(1+i);Aa=A.’Am=A’例:两种转置比较2.3数组运算和矩阵运算2.其他数组