第三节 matlab数组和矩阵运算_第1页
第三节 matlab数组和矩阵运算_第2页
第三节 matlab数组和矩阵运算_第3页
第三节 matlab数组和矩阵运算_第4页
第三节 matlab数组和矩阵运算_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、第三节数组和矩阵的运算本节内容n掌握数组和矩阵的数值运算n掌握数组和矩阵的关系运算n掌握数组和矩阵的逻辑运算n了解一些常用的数学运算指令n了解如何在word环境下运行matlab指令,即制作notebook文档2.1 算术运算 MATLAB中定义了矩阵运算和数组运算两种形式,两者是不同的。其中矩阵运算规则是按照矩阵作为运算要素定义的,数组运算是按照数组元素作为运算要素定义的。标量运算是矩阵和数组运算的特例。 运算形式:加减、乘、除、乘方加减运算数组和矩阵的加减运算法则是相同的。n 矩阵/数组的对应位置元素进行相加减, 此时两矩阵的维数必须相同,否则系 统将给出错误信息,提示用户两矩阵 不匹配。

2、n 若有一个是标量,则该标量与矩阵的每 个元素进行加减运算。乘法运算n两矩阵相乘时必须内维数相等,否则出错。 假定两矩阵假定两矩阵A A和和B B分别为:分别为:A A为为m mn n矩阵,矩阵,B B为为n np p矩阵,则矩阵,则C CA A* *B B为为m mp p矩阵。矩阵。n两数组相乘C=A.*B(点乘),表示A和B中 的对应元素相乘。 注意:此时两数组必须是同维的。n若有一个是标量,则为标量与矩阵的每个 元素进行乘法运算。A=1 2 3; 4 5 6;7 8 9B=ones(3,3) 生成生成3 3阶全阶全1 1方阵方阵c1=A.*B 点运算点运算c2=A*B 矩阵相乘矩阵相乘

3、c3=B*A1 2 366612 15 1814 5 6215 15 15312 15 187 8 924 24 2412 15 18ccc例:比较矩阵相乘A*B和数组相乘A.*B两者的区别。结果如下:A=1 2 3; 4 5 6,B=4,5,6;1,2,3;C=zeros(2); % %生成生成2 2阶全阶全0 0方阵方阵c1=A+B 加法运算加法运算c2=A-C 减法相乘减法相乘c3=A-2 % %与标量之间的加减运算与标量之间的加减运算例:数组的加减运算。结果如下:c1 = 5 7 9 7 7 7c3 = -1 0 1 2 3 4? Error using = minusMatrix d

4、imensions must agree.除法运算n 矩阵除法有两种:左除和右除/。 AB=A-1B ,即A*X=B,即inv(A)*B; A/B=AB-1,即等效于A*inv(B)。 (注意:A或B必须是非奇异方阵det(A)0) 对于含标量的运算,两种除法运算的结果相同;对于矩阵来说,它们表示两种不同的除数矩阵和被除数矩阵关系,一般ABB/A。例:例:a=2 3 5;5 4 1;7 6 9,b1=3 6 9;a=2 3 5;5 4 1;7 6 9,b1=3 6 9; x1=ab1 %a x1=ab1 %a左除左除b1 b1 ? Error using = mldivideMatrix di

5、mensions must agree.b2=3;6;9b2=3;6;9x2=ab2x2=ab2或或b2=b1b2=b1x2 = 1.0227 0.2045 0.0682x3=a/b2 %ax3=a/b2 %a右除右除b2b2? Error using = mldivideMatrix dimensions must agree.x4=a/b1x4=a/b1x4 = 0.5476 0.3810 1.0952x5=a/10,x6=10ax5=a/10,x6=10ax5 =x6 0.2000 0.3000 0.5000 0.5000 0.4000 0.1000 0.7000 0.6000 0.90

6、00例: A=1 2 3;4 5 6,B=4 5 6;1 2 3 C1=A.B,C2=A./BC2= 0.2500 0.4000 0.5000 4.0000 2.5000 2.0000( , ).( , )( , )./( , )B i jleft divisionABA i jA i jright division ABB i j 数组除法表示数组的相应元素相除,它也分为左除.和右除./。注意此时两数组必须是同型的,除非其中一个是标量。C1= 4.0000 2.5000 2.0000 0.2500 0.4000 0.5000乘方运算n矩阵乘方运算AB表示:矩阵A自乘B次,其中由线 性代数可知

7、A是方阵,B是正整数n数组乘方运算A.B表示:数组A的各对应元素进 行B次乘方例: a=magic(2),b=2 c1=ab, c2=a.ba = 1 3 4 2c1 = 13 9 12 16c2= 1 9 16 4小结n在进行计算时,一定要分清是矩阵运算还是数组运算,两者是不同的。n数组运算是点运算(即在运算符前加小黑点),它是针对各对应元素进行的。此时要注意数组的维数要匹配。n矩阵运算是按照线性代数中矩阵的运算规则进行的。常用数学函数abs(x)绝对值或复数的模log(x)求x的自然对数sqrt平方根log10以10为底的对数real求复数的实部log2以2为底的对数imag求复数的虚部e

8、xp以e为底的指数函数conj求复数的共轭数pow2求2的幂基本数学函数,参见帮助文件help help elfunelfun取整函数mod模除求余数mod(5 -5,3)=2 1rem求余数,当x为负数时其与mod不同rem(5 -5,3)=2 -2fix向0取整 fix(3.1 -3.1)=3 -3floor向接近-的整数取整floor(3.1 -3.1)=3 -4ceil向接近+的整数取整ceil(3.1 -3.1)=4 -3round四舍五入到整数round(3.1 -3.1)=3 -3三角函数和反三角函数sin(x)求变量x的正弦函数(单位:弧度)tantand正切函数sind(x)

9、求变量x的正弦函数(单位:角度)cotcotd余切函数sinh双曲正弦tanh双曲正切cos、cosd余弦函数asin反正弦cosh双曲余弦acos反余弦2.2 关系运算 关系运算的输出结果是一个由0和1组成“逻辑数组”,1表示“真”,0表示“假”。 MATLAB提供了6种关系运算符: (小于)、(大于)、=(大于等于) =(等于)、(不等于)说明:在说明:在matlab中约定任何非零数都被看作逻辑中约定任何非零数都被看作逻辑真,而真,而0被认为是逻辑假。被认为是逻辑假。运算法则n当比较量是标量,直接比较两数的大小。若关系成立,则表达式结果为1,否则为0。n当比较量是两个维数相同的矩阵时,则对

10、两 矩阵相同位置的元素按照标量关系运算规则 逐个进行。运算结果是一个维数与原矩阵维数相同的矩阵,其元素是由0或1组成。n若标量与矩阵相比较,则把标量与矩阵中每个元素按标量关系运算准则逐个比较。产生的结果同上。例例1 1:分析语句:分析语句a=2+2=4的执行结果。的执行结果。分析分析:单个等号表示赋值,后面的双等号表示关系:单个等号表示赋值,后面的双等号表示关系 运算,所以运算,所以a的值为的值为1.例例2 2:分析语句:分析语句a=fate;b=cake;result=a=b 的执行结果。的执行结果。分析分析:应用关系运算应该逐个比较字符是否相等。:应用关系运算应该逐个比较字符是否相等。 执

11、行结果如下:执行结果如下: result = 0 1 0 1分析分析:1 1)生成)生成5 5阶随机方阵阶随机方阵A AA = 86 71 59 42 14 28 46 74 85 38 59 11 84 84 75 49 76 69 43 10 82 46 24 82 212 2)判断)判断A A的元素是否可以被的元素是否可以被3 3整除整除P=rem(A,3)=0注:rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵。P是进行等于()比较的结果矩阵,其中1的位置所对应的A的元素能被3整除。P = 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1

12、 0 0 1 0 0 0 0 1 0 13 3)求出被)求出被3 3整除的元素整除的元素A(P)ans=84 69 24 42 84 75 21find函数nindices=find(X) 返回数组返回数组X的非零元素的序号的非零元素的序号ni,j=find(X) 返回数组返回数组X的非零元素的行号和列号的非零元素的行号和列号2.3 逻辑运算 MATLAB提供了3种逻辑运算符: & (与)、(或)、(非)、xor(与非) 逻辑判断时,所有非零数值均被认为是真,零为假,在逻辑判断结果中,判断为真时输出1、判断为假时输出0。 逻辑运算结果是一个由0或1组成的逻辑数组logical arra

13、y,1表示真,0表示假.运算法则n逻辑元素中,非零元素为真,用1表示;零元素为假,用0表示;n设参与逻辑运算的是两个标量a和b,则 a&b:a,b全为非零时,结果为1,否则为0; a|b:a,b中只要有一个非零,结果就是1; a:a是零,结果为1;a非零,结果为0; xor(a,b):a,b相等,结果为1;否则为0。n若参与逻辑运算的是两个维数相同的矩阵,则运算是在两矩阵相同位置上的元素逐个进行,运算结果是一个原矩阵维数相同的矩阵。n若是标量和矩阵进行逻辑运算时,则标量与矩阵中每个元素逐个进行的。运算结果同上。n逻辑非是单目运算符,也服从以上运算规则。n在混合运算中,算术运算优先级最高

14、,逻辑运算优先级最低。例:例: A=magic(4) A=magic(4) A =A = 16 2 3 13 16 2 3 13 5 11 10 8 5 11 10 8 9 7 6 12 9 7 6 12 4 14 15 1 4 14 15 1 B=isprime(A) B=isprime(A) B = B = 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 A( A(B)=0B)=0A = 0 2 3 13 5 11 0 0 0 7 0 0 0 0 0 0注:注:isprimeisprime是用来检测数值是否为质

15、数。是用来检测数值是否为质数。解解1 1:1 1)生成四阶的魔方矩阵)生成四阶的魔方矩阵y = 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0b = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 12 2)判断)判断b b的元素的绝对值是否大于的元素的绝对值是否大于7 7且小于且小于10103 3)求满足条件的元素的数目)求满足条件的元素的数目4 4)求满足条件的元素)求满足条件的元素解解2 2:1 1)生成四阶的魔方矩阵)生成四阶的魔方矩阵y = 3 14b = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 12 2)判

16、断满足条件的元素的位置)判断满足条件的元素的位置3 3)求满足条件的元素的数目)求满足条件的元素的数目4 4)求满足条件的元素)求满足条件的元素ans = 9 8逻辑函数nall:判断:判断是否所有元素为非零是否所有元素为非零 若所有元素均为非零值,返回若所有元素均为非零值,返回1;否则返回;否则返回0;nany:判断是否存在一个元素为非零值:判断是否存在一个元素为非零值nisequal: 判断几个对象是否相等判断几个对象是否相等nisnumeric:判断对象是否为数值型:判断对象是否为数值型nisnan:判断是否是非数:判断是否是非数nisfinite(A):判断判断A是否为有限值是否为有限值例:已知矩阵A,请找出大于4的

温馨提示

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

最新文档

评论

0/150

提交评论