MATLAB 入门教程.ppt
《MATLAB 入门教程.ppt》由会员分享,可在线阅读,更多相关《MATLAB 入门教程.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二讲第二讲 数值数组及其运算数值数组及其运算数值数组和数组运算始终数值数组和数组运算始终是是MATLAB的的核心核心第二讲第二讲 数值数组及其运算数值数组及其运算2.1 引言引言2.2 一维数组的创建和寻访一维数组的创建和寻访2.3 二维数组的创建二维数组的创建2.4 二维数组元素的标识二维数组元素的标识2.5 二维数组的子数组寻访和赋值二维数组的子数组寻访和赋值2.6 执行数组运算的常用函数执行数组运算的常用函数第二讲第二讲 数值数组及其运算数值数组及其运算2.7 数组运算和矩阵运算数组运算和矩阵运算2.8 标准数组生成函数和数组操作函数标准数组生成函数和数组操作函数2.9 数组构作技法综
2、合数组构作技法综合2.10 高维数组高维数组2.11“非数非数”和和“空空”数组数组2.12 关系操作和逻辑操作关系操作和逻辑操作2.1 引言引言数组:由一组实数或复数排成的长方数组:由一组实数或复数排成的长方阵列阵列(Array)n一维的一维的“行行”或或“列列”n二维的二维的“矩形矩形”n三维的三维的“若干矩形的堆叠若干矩形的堆叠”n更高的任意维更高的任意维2.1 引言引言数组运算:无论对数组施加什么运算(包数组运算:无论对数组施加什么运算(包括函数),总认为是对数组中括函数),总认为是对数组中每个元素每个元素平等的实施平等的实施同样的操作同样的操作设计数组和数组运算的目的:设计数组和数组
3、运算的目的:n使程序简单、易读;更接近数学公式使程序简单、易读;更接近数学公式n提高程序向量化程度,提高计算效率,节省提高程序向量化程度,提高计算效率,节省系统开销系统开销2.1 引言引言绘制函数绘制函数 在在0 x1时的曲线时的曲线x=0:0.1:1%定义自变量的采样点取值数组定义自变量的采样点取值数组y=x.*exp(-x)%利用数组运算计算各自变量采样点上的函数值利用数组运算计算各自变量采样点上的函数值plot(x,y),xlabel(x),ylabel(y),title(y=x*exp(-x)%绘图绘图第一句定义自变量数组:第一句定义自变量数组:0为起点,每隔为起点,每隔0.1取一个点
4、,直到取一个点,直到1。得到。得到111的数组的数组第二句中,指数函数第二句中,指数函数exp(-x)对对x每个元素求值,结果也是每个元素求值,结果也是111的数的数组组数组乘是两个数组对应元素相乘,得到数组乘是两个数组对应元素相乘,得到y也是也是111的数组的数组连续函数必须在相应区间上连续函数必须在相应区间上采样采样才能进行数值计算才能进行数值计算2.1 引言引言2.2 一维数组的创建和寻访一维数组的创建和寻访1.一维数组的创建一维数组的创建逐个元素输入逐个元素输入x=2pi/2sqrt(3)3+5i冒号生成冒号生成n格式格式 x=a:inc:bna是第一个元素,是第一个元素,inc是步长
5、(缺省为是步长(缺省为1)n若若(b-a)是是inc的整数倍,则生成数组最后一个元素的整数倍,则生成数组最后一个元素等于等于b,否则小于否则小于bn inc可取正数或负数。取正:可取正数或负数。取正:ab2.2 一维数组的创建和寻访一维数组的创建和寻访线性采样线性采样n格式格式 x=linspace(a,b,n)na,b是第一个和最后一个元素,是第一个和最后一个元素,n是采样点数是采样点数n生成生成1n的数组的数组n等价于等价于x=a:(b-a)/(n-1):b运用运用MATLAB函数生成法函数生成法如如rand,zeros,ones等等以上均为行数组,列数组转置即可以上均为行数组,列数组转置
6、即可2.2 一维数组的创建和寻访一维数组的创建和寻访2.一维数组子数组的寻访和赋值一维数组子数组的寻访和赋值子子数组的寻访(数组的寻访(Address)rand(state,0)%把均匀分布伪随机发生器置为把均匀分布伪随机发生器置为0状态状态x=rand(1,5)%产生产生15的均布随机数组的均布随机数组x(3)%寻访数组寻访数组x的第三个元素的第三个元素x(125)%寻访数组寻访数组x的第一、二、五个元素组成的子数组的第一、二、五个元素组成的子数组x(1:3)%寻访前三个元素组成的子数组寻访前三个元素组成的子数组x(3:end)%寻访除前寻访除前2个元素外的全部其他元素。个元素外的全部其他元
7、素。end是最后一个是最后一个元素的下标元素的下标x(3:-1:1)%由前三个元素倒排构成的子数组由前三个元素倒排构成的子数组x(find(x0.5)%由大于由大于0.5的元素构成的子数组的元素构成的子数组x(12344321)%对元素可以重复寻访,使所得数对元素可以重复寻访,使所得数组长度允许大于原数组组长度允许大于原数组2.2 一维数组的创建和寻访一维数组的创建和寻访子数组的赋值(子数组的赋值(Assign)x(3)=0%第三个元素赋值为第三个元素赋值为0 x(14)=11%第一、四个元素都赋值为第一、四个元素都赋值为1n保证被赋值的子数组长度与送入的数组保证被赋值的子数组长度与送入的数组
8、长度长度相同相同2.3 二维数组的创建二维数组的创建二维数组与矩阵二维数组与矩阵n二维数组是由实数或复数排列成矩形构成的二维数组是由实数或复数排列成矩形构成的n从从数据结构数据结构上看,矩阵和二维数组上看,矩阵和二维数组没有区别没有区别n当二维数组带有线性变换含义时,就是矩阵当二维数组带有线性变换含义时,就是矩阵2.3 二维数组的创建二维数组的创建1.直接输入法直接输入法二维数组三要素:二维数组三要素:n整个数组必须以整个数组必须以“”为首尾为首尾n数组行与行之间必须用数组行与行之间必须用“;”或或回车回车隔离隔离n数组元素必须用数组元素必须用“,”或或空格空格分隔分隔2.3 二维数组的创建二
9、维数组的创建在在MATLAB环境下,用下面三条指令创建二维数组环境下,用下面三条指令创建二维数组Ca=2.7358;b=33/79;%这这两两条条指指令令分分别别给给变变量量 a,b 赋值赋值C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i%创建二维数组创建二维数组CC=1.00005.4716+0.4177i0.69090.70714.82443.5000+1.0000i“;”在在“”内,是数组行分隔符内,是数组行分隔符“;”作为指令结束符,作为指令结束符,不显示不显示执行结果执行结果2.3 二维数组的创建二维数组的创建复数数组的另一种输入方式复数数组的
10、另一种输入方式M_r=1,2,3;4,5,6,M_i=11,12,13;14,15,16CN=M_r+i*M_i%由实部、虚部数组构成复数数组由实部、虚部数组构成复数数组M_r=123456M_i=111213141516CN=1.0000+11.0000i2.0000+12.0000i3.0000+13.0000i4.0000+14.0000i5.0000+15.0000i6.0000+16.0000i“,”在在“”内,是数组元素分隔符内,是数组元素分隔符“,”作为指令结束符,作为指令结束符,显示显示执行结果执行结果2.3 二维数组的创建二维数组的创建2.数组编辑器创建数组编辑器创建单击工作
11、空间中的单击工作空间中的“新建新建”图标图标3.利用利用M文件创建和保存数组文件创建和保存数组对于经常需要调用的数组,尤其是比较大对于经常需要调用的数组,尤其是比较大而复杂的数组,值得为它专门建立一个而复杂的数组,值得为它专门建立一个M文件文件4.利用利用MATLAB函数创建函数创建2.4 二维数组元素的标识二维数组元素的标识1.“全下标全下标”标识标识经典教科书的标识法经典教科书的标识法即指出是即指出是“第几行,第几列第几行,第几列”的元素的元素优点:几何概念清楚,引述简单。(最常用)优点:几何概念清楚,引述简单。(最常用)“全下标全下标”由两个下标组成:行下标,列下标。由两个下标组成:行下
12、标,列下标。例如:例如:A(2,5)2.4 二维数组元素的标识二维数组元素的标识2.“单下标单下标”标识标识就是用一个下标来指明元素在数组中的位置就是用一个下标来指明元素在数组中的位置对二维数组元素进行对二维数组元素进行“一维编号一维编号”n把二维数组所有列,按先左后右的次序,首尾相接排成把二维数组所有列,按先左后右的次序,首尾相接排成“一一维长列维长列”,然后自上往下编号,然后自上往下编号“单下标单下标”与与“全下标全下标”转换关系:以转换关系:以(mn)的二维的二维数组数组A为例,全下标元素位置是为例,全下标元素位置是“第第r行,第行,第c列列”,改,改为单下标表示为为单下标表示为a=(c
13、-1)m+r。MATLAB有两个指令可实现此转换:有两个指令可实现此转换:nsub2ind 据全下标算出单下标据全下标算出单下标nind2sub 据单下标算出全下标据单下标算出全下标2.4 二维数组元素的标识二维数组元素的标识3.“逻辑逻辑1”标识标识常用问题:寻找数组中大于某值的元素常用问题:寻找数组中大于某值的元素找出数组找出数组 中所有绝对值大于中所有绝对值大于3的元素的元素A=zeros(2,5);%预生成一个预生成一个25全零数组全零数组A(:)=-4:5%运用运用“全元素全元素”赋值法获得赋值法获得AL=abs(A)3%产生与产生与A同维的同维的“0-1”逻辑值数组逻辑值数组isl
14、ogical(L)%判断判断L是否逻辑值数组是否逻辑值数组X=A(L)%把把L中逻辑值中逻辑值1对应的对应的A元素取出元素取出2.4 二维数组元素的标识二维数组元素的标识A=-4-2024-3-1135L=1000100001ans=1X=-445 L的元素是的元素是0或或1,它是它是“逻辑数组逻辑数组”,是一种特殊的数据类型。,是一种特殊的数据类型。“逻辑逻辑1”标识法:通过与标识法:通过与A同样大小的逻辑数组同样大小的逻辑数组L中中“1”的位置的位置指示指示A中元素的位置中元素的位置2.5 二维数组的子数组寻访和赋值二维数组的子数组寻访和赋值A(r,c)A的的r行行c列元素列元素A(r,:
15、)A的的r行全部元素行全部元素A(:,c)A的的c列全部元素列全部元素A(:)A的的“单下标全元素单下标全元素”寻访寻访A(s)“单下标单下标”寻访。生成寻访。生成“s指定的指定的”一维数组。一维数组。s是行数组(或列数组),则是行数组(或列数组),则A(s)就是长度就是长度相同的行数组(或列数组)。相同的行数组(或列数组)。A(L)“逻辑逻辑1”寻访寻访。由与。由与A同样大小的同样大小的“逻辑数组逻辑数组”L中的中的“1”元素选出元素选出A的对应元素。的对应元素。A(r,c)=Sa“双下标双下标”方式赋值。方式赋值。Sa的的“行宽、列长行宽、列长”必须与必须与A(r,c)的的“行宽、列长行宽
16、、列长”相同。相同。A(:)=D(:)全元素赋值。结果:保持全元素赋值。结果:保持A的的“行宽、列长行宽、列长”不变。条件:不变。条件:A、D两个数组的元素数相等。两个数组的元素数相等。A(s)=Sa“单下标单下标”部分元素赋值。结果:保持部分元素赋值。结果:保持A的的“行宽、列长行宽、列长”不变。条件:不变。条件:s单下标数组长度必须与一单下标数组长度必须与一维数组维数组Sa的长度相等,但的长度相等,但s、Sa不一定同是不一定同是“行数组行数组”或或“列数组列数组”。2.5 二维数组的子数组寻访和赋值二维数组的子数组寻访和赋值A=zeros(2,4)%创建创建24的全零数组的全零数组A=00
17、000000A(:)=1:8%全元素赋值方式全元素赋值方式A=13572468 s=235;%产生单下标数组行数组产生单下标数组行数组A(s)%由由“单下标行数组单下标行数组”寻访产生寻访产生A元素组成的行数组元素组成的行数组Sa=102030%Sa是长度为是长度为3的的“列数组列数组”(行数组也可以)(行数组也可以)A(s)=Sa%单下标方式赋值单下标方式赋值2.5 二维数组的子数组寻访和赋值二维数组的子数组寻访和赋值ans=235Sa=102030A=12030710468A(:,23)=ones(2)%双下标赋值方式:把双下标赋值方式:把A的第的第2、3列元素全列元素全赋为赋为1A=11
18、17101182.5 二维数组的子数组寻访和赋值二维数组的子数组寻访和赋值2.6 执行数组运算的常用函数执行数组运算的常用函数数组加、减、数组加、减、乘、除、幂乘、除、幂函数的数组运算规则:函数的数组运算规则:n函数函数f(.)对数组的运算相当于对数组的对数组的运算相当于对数组的每一个元素作相同的函数运算每一个元素作相同的函数运算大部分常用函数都执行数组运算大部分常用函数都执行数组运算三角、指数、复数、取整求余、坐标变换三角、指数、复数、取整求余、坐标变换2.7 数组运算和矩阵运算数组运算和矩阵运算矩阵运算有明确、严格的数学规则矩阵运算有明确、严格的数学规则数组运算是数组运算是MATLAB定义
19、的规则定义的规则n目的:数据管理方便、操作简单、指令形式目的:数据管理方便、操作简单、指令形式自然、执行计算有效自然、执行计算有效n缺乏严谨的数学推理,本身仍在完善缺乏严谨的数学推理,本身仍在完善n影响随影响随MATLAB而扩大而扩大2.7 数组运算和矩阵运算数组运算和矩阵运算运算指令对照运算指令对照A.非共轭转置非共轭转置 A 共轭转置共轭转置A.n 各元素各元素n次幂次幂An方阵的方阵的n次幂次幂A.*B 对应元素相乘对应元素相乘A*B矩阵相乘矩阵相乘A./B A元素除以元素除以B元素元素A/BA右除右除BB.A 同上同上BAA左除左除Bexp(A)对各元素求幂对各元素求幂expm(A)矩
20、阵指数矩阵指数log(A)对各元素求对数对各元素求对数logm(A)矩阵对数矩阵对数sqrt(A)对各元素求方根对各元素求方根sqrtm(A)矩阵平方根矩阵平方根2.7 数组运算和矩阵运算数组运算和矩阵运算A=s 标量赋给标量赋给A的每个元素的每个元素(s和和A同大小同大小)A#B 对应元素关系运算对应元素关系运算(=,=,=,=)AB 对应元素逻辑运算对应元素逻辑运算(&,|,)关系运算和逻辑运算仅对数组进行。关系运算和逻辑运算仅对数组进行。2.7 数组运算和矩阵运算数组运算和矩阵运算两种不同转置的比较两种不同转置的比较clear;A=zeros(2,3);A(:)=1:6;%全元素赋值法全
21、元素赋值法A=A*(1+i)%运用标量与数组乘产生复数矩阵运用标量与数组乘产生复数矩阵A_A=A.%数组转置,即非共轭转置数组转置,即非共轭转置A_M=A%矩阵转置,即共轭转置矩阵转置,即共轭转置A=1.0000+1.0000i3.0000+3.0000i5.0000+5.0000i2.0000+2.0000i4.0000+4.0000i6.0000+6.0000iA_A=1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i4.0000+4.0000i5.0000+5.0000i6.0000+6.0000iA_M=1.0000-1.0000i2.0000-2.0
22、000i3.0000-3.0000i4.0000-4.0000i5.0000-5.0000i6.0000-6.0000i两种不同乘的比较两种不同乘的比较clear;A=1,2;3,4B=2,3;4,5C_A=A.*BC_M=A*BA=1234B=2345C=261220D=101322292.7 数组运算和矩阵运算数组运算和矩阵运算2.7 数组运算和矩阵运算数组运算和矩阵运算两种不同求平方根的比较两种不同求平方根的比较clear;B=4,9;16,25B_A=sqrt(B)B_M=sqrtm(B)B=491625B_A=2345B_M=0.9421+0.9969i1.5572-0.3393i2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 入门教程
限制150内