第3讲 matlab.ppt
《第3讲 matlab.ppt》由会员分享,可在线阅读,更多相关《第3讲 matlab.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab语言及其应用语言及其应用第第3讲讲 matlab数据的运算与操作数据的运算与操作 2022/12/27Matlab Language2 1、数组的算术运算、数组的算术运算nMATLAB数组支持线性代数中所有的矩阵运算。数组支持线性代数中所有的矩阵运算。n建立特有的数组运算符,如:建立特有的数组运算符,如:“.*”、“./”等。等。n注意,运算是在矩阵意义下进行的,单个数据的算术运算只注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。是一种特例。MATLAB数组运算符列表数组运算符列表运算运算 运算符运算符含义说明含义说明加加 +相应元素相加相应元素相加 减减 -相应元
2、素相减相应元素相减 乘乘 *矩阵乘法矩阵乘法点乘点乘 .*相应元素相乘相应元素相乘幂幂 矩阵幂运算矩阵幂运算点幂点幂 .相应元素进行幂运算相应元素进行幂运算左除或右除左除或右除或或/矩阵左除或右除矩阵左除或右除 左点除或右点除左点除或右点除 .或或./A的元素被的元素被B的对应元素除的对应元素除转秩转秩 2022/12/27Matlab Language3 1、数组的算术运算、数组的算术运算(1)矩阵加减运算矩阵加减运算 假定有两个矩阵假定有两个矩阵A和和B,则可以由,则可以由A+B和和A-B实现矩阵的加减运算。实现矩阵的加减运算。运算规则是:若运算规则是:若A和和B矩阵的维数相同,则矩阵的维
3、数相同,则可以执行矩阵的加减运算,可以执行矩阵的加减运算,A和和B矩阵的相应矩阵的相应元素相加减。如果元素相加减。如果A与与B的维数不相同,则的维数不相同,则MATLAB将给出错误信息,提示用户两个矩将给出错误信息,提示用户两个矩阵的维数不匹配。阵的维数不匹配。一个标量也可以和其他不同维数的矩阵进一个标量也可以和其他不同维数的矩阵进行矩阵加减运算行矩阵加减运算 2022/12/27Matlab Language4 1、数组的算术运算、数组的算术运算 (续)(续)【例例1-1】数组加减法数组加减法a=zeros(2,3);a(:)=1:6;b=a+2.5b=3.5000 5.5000 7.500
4、0 4.5000 6.5000 8.5000c=b-ac=2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2022/12/27Matlab Language5 1、数组的算术运算、数组的算术运算(2)矩阵乘法矩阵乘法 假定有两个矩阵假定有两个矩阵A和和B,若,若A为为mn矩阵,矩阵,B为为np矩阵,则矩阵,则C=A*B为为mp矩阵。矩阵。a=1,2,3;4,5,6 b=1,2;3,0;7,4 c=a*bc=28 14 61 32a=1 2 3 4 5 6b=1 2 3 0 7 4【例例1-2】矩阵矩阵乘法乘法 2022/12/27Matlab Languag
5、e6 1、数组的算术运算、数组的算术运算(3)矩阵除法矩阵除法 在在MATLAB中,有两种矩阵除法运算:中,有两种矩阵除法运算:和和/,分别表示左除和右除。如果,分别表示左除和右除。如果A矩阵是非奇异方矩阵是非奇异方阵,则阵,则AB和和B/A运算可以实现。运算可以实现。AB等效于等效于A的的逆左乘逆左乘B矩阵,也就是矩阵,也就是inv(A)*B,而,而B/A等效于等效于A矩阵的逆右乘矩阵的逆右乘B矩阵,也就是矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果对于含有标量的运算,两种除法运算的结果相同,如相同,如3/4和和43有相同的值,都等于有相同的值,都等于0.75。又如,
6、。又如,设设a=10.5,25,则,则a/5=5a=2.1000 5.0000。对于。对于矩阵来说,左除和右除表示两种不同的除数矩阵矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般和被除数矩阵的关系。对于矩阵运算,一般ABB/A。2022/12/27Matlab Language7 1、数组的算术运算、数组的算术运算(4)点运算点运算 在在MATLAB中,有一种特殊的运算,因为其中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算符是在有关算术运算符前面加点,所以叫点运算。运算。点运算符有点运算符有.*、./、.和和.。两矩阵进行点运算是指
7、它们的对应元素进行两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。相关运算,要求两矩阵的维参数相同。2022/12/27Matlab Language8 1、数组的算术运算、数组的算术运算 (续)(续)【例例1-3】点幂点幂“.”举举例例a=1:6a=1 2 3 4 5 6b=reshape(a,2,3)b=1 3 5 2 4 6a=a.2a=1 4 9 16 25 36b=b.2b=1 9 25 4 16 36 2022/12/27Matlab Language9 1、数组的算术运算、数组的算术运算 (续)(续)【例例1-4】画出画出y=1/(x+1)的函数曲线,的函
8、数曲线,x0,100。x=0:100;y=1./(x+1);plot(x,y);legend(y=1/(x+1);2022/12/27Matlab Language10 1、数组的算术运算、数组的算术运算 (续)(续)【例例1-5】生成一个信号:生成一个信号:x=sin(2*pi*t)+sin(4*pi*t)t=0:199./100;%采样时间点采样时间点%生成信号生成信号x=sin(2*pi*t)+sin(4*pi*t);plot(t,x);legend(x=sin(2*pi*t)+sin(4*pi*t);2022/12/27Matlab Language11 1、数组的算术运算、数组的算术
9、运算 (续)(续)2022/12/27Matlab Language12 1、数组的算术运算、数组的算术运算(5)MATLAB常用数学函数常用数学函数函数使用说明:函数使用说明:三角函数以弧度为单位计算。三角函数以弧度为单位计算。sin、asin abs函数可以求实数的绝对值、复数的模、字符串的函数可以求实数的绝对值、复数的模、字符串的ASCII码值。码值。用于取整的函数有用于取整的函数有fix、floor、ceil、round,要注意它们,要注意它们的区别。的区别。rem与与mod函数的区别。函数的区别。rem(x,y)和和mod(x,y)要求要求x,y必须必须为相同大小的实矩阵或为标量。为
10、相同大小的实矩阵或为标量。sqrt平方根函数、平方根函数、log、log10、log2、exp、pow2 2022/12/27Matlab Language13 2、关系运算、关系运算 Matlab提供了提供了6种关系运算符:种关系运算符:、=、=、=(不等于)(不等于)关系运算符的运算法则:关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,、当两个标量进行比较时,直接比较两数大小。若关系成立,结果为结果为1,否则为,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按 标量关系进行比较,并给出结果,形
11、成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同 的的0、1矩阵。矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行 比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵。矩阵。2022/12/27Matlab Language14 2、关系运算、关系运算 (续)(续)【例例】建立建立5阶方阵阶方阵A,判断其元素能否被,判断其元素能否被3整除。整除。A=24,35,13,22,63;23,39,47,80,80;.90,41,80,29,10;45,57,85,62,21;37,
12、19,31,88,76A=24 35 13 22 6323 39 47 80 8090 41 80 29 1045 57 85 62 2137 19 31 88 76P=rem(A,3)=0%被被3除,求余除,求余P=1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 2022/12/27Matlab Language15【例例】在在0,3 区间,求区间,求 的值。要求的值。要求 消去负半波,即消去负半波,即(,2)区间内的函数值置零。区间内的函数值置零。x=0:pi/100:3*pi;y=sin(x);y1=(y=0).*y;%消去负半波消去负
13、半波 2022/12/27Matlab Language16 3、逻辑运算、逻辑运算 Matlab提供了提供了3种逻辑运算符:种逻辑运算符:&(与)、(与)、|(或)、(或)、(非)(非)逻辑运算符的运算法则:逻辑运算符的运算法则:1、在逻辑运算中,确认非零元素为真(、在逻辑运算中,确认非零元素为真(1),零元素为假(),零元素为假(0)。)。2、当两个维数相等的矩阵进行逻辑运算时,其相应位置的元素按、当两个维数相等的矩阵进行逻辑运算时,其相应位置的元素按 标量关系进行逻辑运算,并给出结果,形成一个维数与原来相标量关系进行逻辑运算,并给出结果,形成一个维数与原来相 同的同的0、1矩阵;矩阵;3
14、、当一个标量与一个矩阵逻辑运算时,该标量与矩阵的各元素进、当一个标量与一个矩阵逻辑运算时,该标量与矩阵的各元素进 行逻辑运算,结果形成一个与矩阵维数相等的行逻辑运算,结果形成一个与矩阵维数相等的0、1矩阵;矩阵;4、算术运算优先级最高,逻辑运算优先级最低。、算术运算优先级最高,逻辑运算优先级最低。5、逻辑非是单目运算,服从矩阵运算规则。、逻辑非是单目运算,服从矩阵运算规则。与对应的And()Or()Not()功能一致 2022/12/27Matlab Language17【例例】建立矩阵建立矩阵A,找出在,找出在10,20区间的元素的位置。区间的元素的位置。A=4,15,-45,10,6;56
15、,0,17,-45,0;find(A=10&Ax=-43,72,9,16,23,47;y=max(x)%求向量求向量x中的最大值中的最大值y=72y,l=max(x)%求向量求向量x中的最大值及其该元素的位置中的最大值及其该元素的位置y=72l=2 2022/12/27Matlab Language28 6.数据分析与统计数据分析与统计2.求矩阵的最大值和最小值求矩阵的最大值和最小值求矩阵求矩阵A的最大值的函数有的最大值的函数有3种调用格式,分别是:种调用格式,分别是:(1)max(A):返回一个行向量,向量的第返回一个行向量,向量的第i个元素是矩阵个元素是矩阵A的第的第i列上的最大值;列上的
16、最大值;(2)Y,U=max(A):返回行向量返回行向量Y和和U,Y向量记录向量记录A的每的每列的最大值,列的最大值,U向量记录每列最大值的行号;向量记录每列最大值的行号;(3)max(A,dim):dim取取1或或2。dim取取1时,该函数和时,该函数和max(A)完全相同;完全相同;dim取取2时,该函数返回一个列向时,该函数返回一个列向量,其第量,其第i个元素是个元素是A矩阵的第矩阵的第i行上的最大值。行上的最大值。求最小值的函数是求最小值的函数是min,其用法和,其用法和max完全相同。完全相同。2022/12/27Matlab Language29【例例】求矩阵的最大值求矩阵的最大值
17、x=-43,72,9;16,23,47;y=max(x)%求矩阵求矩阵x中每列的最大值中每列的最大值y=16 72 47y,l=max(x)%求矩阵求矩阵x中每列的最大值及其该元素的位置中每列的最大值及其该元素的位置y=16 72 47l=2 1 2max(x,1),max(x,2)%求矩阵中每行的最大值求矩阵中每行的最大值 2022/12/27Matlab Language30 6.数据分析与统计数据分析与统计n求和与求积求和与求积sum(X):返回向量返回向量X各元素的和。各元素的和。prod(X):返回向量返回向量X各元素的乘积。各元素的乘积。sum(A):返回一个行向量,其第返回一个行
18、向量,其第i个元素是个元素是A的第的第i列的元素和。列的元素和。prod(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元素乘积。列的元素乘积。sum(A,dim):当当dim为为1时,该函数等同于时,该函数等同于sum(A);当;当dim为为2时,返时,返回一个列向量,其第回一个列向量,其第i个元素是个元素是A的第的第i行的各元素之和。行的各元素之和。prod(A,dim):当当dim为为1时,该函数等同于时,该函数等同于prod(A);当;当dim为为2时,时,返回一个列向量,其第返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素乘积。行的各元素
19、乘积。2022/12/27Matlab Language31 6.数据分析与统计数据分析与统计【例例】求向量的和与积求向量的和与积x=1,2,3,4,5,6;sum(x)%求向量求向量x中所有元素之中所有元素之和和ans=21prod(x)%求向量求向量x中所有元素之中所有元素之积积ans=720 2022/12/27Matlab Language32 6.数据分析与统计数据分析与统计【例例】求矩阵的和与积求矩阵的和与积x=1,2,3;4,5,6;7,8,9;sum(x)%求矩阵求矩阵x中各列元素之中各列元素之和和ans=12 15 18prod(x)%求矩阵求矩阵x中各列元素之中各列元素之积
20、积ans=28 80 162 2022/12/27Matlab Language33 6.数据分析与统计数据分析与统计n平均值与中值平均值与中值 求数据序列平均值的函数是求数据序列平均值的函数是mean,求数据序列中值的函数是,求数据序列中值的函数是median。两个函数的调用格式为:两个函数的调用格式为:mean(X):返回向量:返回向量X的算术平均值。的算术平均值。median(X):返回向量:返回向量X的中值。的中值。mean(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的算术平均值。列的算术平均值。median(A):返回一个行向量,其第:返回一个行
21、向量,其第i个元素是个元素是A的第的第i列的中值。列的中值。mean(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于mean(A);当;当dim为为2时,时,返回一个列向量,其第返回一个列向量,其第i个元素是个元素是A的第的第i行的算术平均值。行的算术平均值。median(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于median(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的中值。行的中值。2022/12/27Matlab Language34 6.数据分析与统计数据分析与统计【例例】求向量的平均
22、值与中值求向量的平均值与中值x=1,2,3,4,5,9;mean(x)%求向量求向量x中所有元素的算术平均值中所有元素的算术平均值ans=4median(x)%求向量求向量x中所有元素的中值中所有元素的中值ans=3.5000 2022/12/27Matlab Language35 6.数据分析与统计数据分析与统计【例例】求矩阵的平均值与中值求矩阵的平均值与中值x=1,2,3;4,5,6;7,8,9;mean(x)%求矩阵求矩阵x中各列元素之算术平均值中各列元素之算术平均值ans=4 5 6median(x)%求矩阵求矩阵x中各列元素之中值中各列元素之中值ans=4 5 67 矩阵分析与处理矩
23、阵分析与处理7.1 7.1 矩阵结构调整变换矩阵结构调整变换7.1.1 7.1.1 对角阵与三角阵对角阵与三角阵1 1对角阵对角阵只有对角线上有非只有对角线上有非0 0元素的矩阵称为对角矩阵,元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为阵,对角线上的元素都为1 1的对角矩阵称为单的对角矩阵称为单位矩阵。位矩阵。(1)(1)提取矩阵的对角线元素提取矩阵的对角线元素 设设A A为为m mn n矩阵,矩阵,diag(Adiag(A)函数:用于提取矩阵函数:用于提取矩阵A A主对角线元素,主对角线元素,产生一个具有产生一个具
24、有 min(m,nmin(m,n)个元素的列向量。个元素的列向量。diag(A,kdiag(A,k):其功能是提取第:其功能是提取第k k条对角线的元素。条对角线的元素。(2)(2)构造对角矩阵构造对角矩阵 设设V V为具有为具有m m个元素的向量,个元素的向量,diag(Vdiag(V)将产生一个将产生一个m mm m对角矩阵,其主对角线对角矩阵,其主对角线元素即为向量元素即为向量V V的元素。的元素。diag(V,kdiag(V,k),其功能是产生一个,其功能是产生一个n nn(nn(n=m+|km+|k|)|)对对角阵,其第角阵,其第k k条对角线的元素即为向量条对角线的元素即为向量V
25、V的元素。的元素。例例 先建立先建立5 55 5矩阵矩阵A A,然后将,然后将A A的第一行元的第一行元素乘以素乘以1 1,第二行乘以,第二行乘以2 2,第五行乘,第五行乘以以5 5。A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;11,18,25,2,19;D=diag(1:5);D=diag(1:5);D*A%D*A%用用D D左乘左乘A A,对,对A A的每行乘以一个的每行乘以一个指定常数指定常
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3讲 matlab
限制150内