ch2 matlab矩阵的生成与运算(ppt).ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch2 matlab矩阵的生成与运算(ppt)

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * eig(A) %A*x=?*x [V,D]=eig(A) %A*V=V*D eig(A,B) %A*x=?*B*x [V,D]=eig(A,B) %A*V=B*V*D 例:设A=pascal(4),B=magic(4),并使用下列函数进行计算 向量的p-norm 一个向量a的p-norm可以定义为 p=2 时,此即为向量 a 的长度,或称欧氏长度(Euclidean Length) 欲求一向量的p-norm,可使用norm指令norm(x,p) a = [3 4]; x = norm(a, 1) % x = 7 y = norm(a, 2) % y = 5 z = norm(a, inf) 注意: 矩阵A的p-norm可以定义如下: 例9: normMatrix norm 指令亦可用于计算矩阵的 p-norm A = [1 2 3; 4 5 6; 7 8 9]; norm(A, 2) 矩阵的比较运算 , =, , =, ==,~=, find(), all(), any(),isempty , isnan, isfinit, islogical, isglobal, isstr 等 MATLAB的关系运算符总是以矩阵内元素对元素的方式作运算,比较两元素之间关系:若成立结论为1,否则为0 1、数量间比较 各种允许的比较关系 例1: a=3; b=5; a5 ab a~=b 关系运算符的用法: 关系运算符的用法 A=[1 2 3; 4 5 6;7 8,0] b=A5 A(b) 3、同维矩阵间比较;返回0-1矩阵 2、矩阵与一数比较返回0-1矩阵 例2:给出矩阵A中大与5的元素值 例3: 接上例,设B=magic(3) B=magic(3); BA find指令 : 可传回非零元素索引,显示一维索引或下标 元素索引 index=find(A5) 可以将关系运算符返回的0-1矩阵,来进行矩阵的索(Indexing)求出在A矩阵中,满足Aij?Bij的元素 x = [0 1 2; 0 0 3] index = find(x) x(index) x(index)则是非零元素所形成的向量 要找出满足某条件的二维索引或下标 2维索引 [idx1,idx2]=find(x5) idx1和idx2分别是符合条件之矩阵元素的列索引(Row Index)及行索引(Column Index) 例:如何找出介于7和11的元素? x = magic(5) x(find(7xx11)) 【例2.4 】产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除并取出这些元素。 (1) 生成5阶随机方阵A。 A=fix((90-10+1)*rand(5)+10) (2) 判断A的元素是否可以被3整除。 P=rem(A,3)==0 (3) 取出A中能被3整除的元素。 A1=A(P)’ 矩阵的逻辑运算 MATLAB提供了3种逻辑运算符: 逻辑变量 (与)、|(或)、~(非)和xor异或。 对 double 变量来说,非 0 表示逻辑 1 设A与B为两个命题 逻辑运算(相应元素间的运算) 与运算 或运算 非运算 异或运算 AB A|B ~A Xor(A,B) 数值为1则为True, 数值为0则为False 当所有向量元素为”真”(非零),则all指令传回1,否则为0。 当任一向量元素为”真”(非零),则any指令传回1,否则为0。 相关的指令有all及any: a = [0 1 2 3] result1 = all(a) retult2 = any(a) result3 = any(a0) 范例 all 及 any 指令也可以接受矩阵输入,此时他们会对每一个行向量进行运算 【例2.5】在[0,3?]区间,求y=sin(x)的值:要求消去负半波 方法1: x=0:pi/100:3*pi; y=sin(x); y1=(xpi|x2*pi).*y; %消去负半波 q=(xpi/3x2*pi/3)|(x7*pi/3x8*pi/3); qn=~q; y2=q*sin(pi/3)+qn.*y1; %按要求处理第(2)步 方法2: x=0:pi/100:3*pi;y=sin(x); y1=(y=0).*y; %消去负半波 p=s

您可能关注的文档

文档评论(0)

allap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档