第二章(2)MATLAB课件_第1页
第二章(2)MATLAB课件_第2页
第二章(2)MATLAB课件_第3页
第二章(2)MATLAB课件_第4页
第二章(2)MATLAB课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 MATLAB数值计算功能2.1 MATLA的数据类型2.2 向量及其运算2.3 矩阵及其运算2.4 数组及其运算2.5 多项式运算三、矩阵的基本函数运算 1. 特征值函数 矩阵的特征值可以由两个函数eig和eigs计算得出。eig给出特征值和特征向量的值,eigs是使用迭代法求解特征值和特征向量的函数。 如: A=7 3 2;3 4 1;-2 1 3; x,y=eig(A)x,y=eig(A)x = 0.5774 -0.0988 -0.8105 -0.5774 0.6525 -0.4908 0.5774 0.7513 0.3197y = 2.0000 0 0 0 2.3944 0 0

2、0 9.60562. 秩函数 矩阵的秩的求解可由函数rank实现。 如: e=3 6 7 ;8 76 0;7 9 3 rank(e) ans=33. 迹函数 矩阵所有对角线上元素的和称为矩阵的迹, 可由trace函 数计算得出。 如: trace(A) ans =144. 通用函数形式 在MATLAB中使用通用函数的格式为funm(A,funname),其中A为输入矩阵变量,funname为调用的函数名。 如: funm(a,log) %其作用同于logm(a); funm(a,sqrt) %其作用同于sqrtm(a); 基本函数表(见下表) 四、矩阵分解函数 1. 特征值分解 调用函数 ei

3、g 矩阵分解为X*V=V*D 调用格式为: V,D=eig(X) % D:X矩阵的特征值对角矩阵; V: 其列为对应特征值的特征向量矩阵。 矩阵A和B作广义特征值分解 A*V=B*V*D,调用格式为: V,D=eig(A,B) 如: a=-149 50 154;537 180 546;-27 9 -25 b=2 10 2;10 5 8;2 8 11v,d=eig(a)v = 0.3162 -0.4041 -0.1391 -0.9487 0.9091 0.9740 -0.0000 0.1010 -0.1789d = 1.0000 0 0 0 2.0000 0 0 0 3.0000v,d=eig(

4、a,b)v = -1.0000 -0.3305 -0.0202 0.4204 1.0000 -1.0000 0.5536 -0.0046 0.3485d = 12.9030 0 0 0 -0.0045 0 0 0 0.07062. 其它分解 (自看) 五、特殊矩阵的生成 1. 空阵 定义 为空阵,一个被赋空阵的变量具有以下性质: 在MATLAB工作内存中确实存在被赋空阵的变量; 空阵中不包括任何元素,它的阶数是0*0; 空阵可以在MATLAB的运算中传递; 可以用clear从内存中清除空阵变量; 空阵不是“0”,也不是“不存在”,它可用来使矩阵按要求进行缩维。 如: a=1:18 a=resh

5、ape(a,3,6) a=1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 a1=a(:,1 3 4 6) a1 =1 7 10 16 2 8 11 17 3 9 12 18 a(:,2 5)= a =1 7 10 16 2 8 11 17 3 9 12 18 用空阵缩维后的a 阵与用坐标标识所得的a1阵相同。2. 几种常用的工具阵 全0阵 由函数zeros生成 ,调用格式为; zeros(N) %生成N*N阶的全0阵; zeros(M,N) %生成M*N阶的全0阵; zeros(M,N,P ) %生成M*N*P 阶的全0阵; zeros(size(A)

6、 %生成与A同阶的全0阵; 单位阵 由函数eye生成,调用格式为: eye(N) %生成N*N阶的单位阵; eye(M,N) %生成M*N阶的单位阵; eye(size(A) %生成与A同阶的单位阵; 全1阵 由函数ones生成,调用格式为: ones(N) %生成N*N阶的全1阵; ones(M,N) %生成M*N阶的全1阵; ones(M,N,P ) %生成M*N*P 阶的全1阵; ones(size(A) %生成与A同阶的全1阵; 随机阵 由函数rand产生,调用格式为: rand(N) %产生一个N*N阶均匀分布的随机阵,元素 值在(0.0,1.0)区间内; rand(M,N) %生成

7、M*N阶的随机阵; rand(M,N,P ) %生成M*N*P 阶的随机阵; rand %无变量输入时,只产生一个随机数量; rand(size(A) %生成与A同阶的随机阵; randn(N) %生成一个N*N阶的正态分布N(0,1)的随 机阵; 3. 其它特殊矩阵的生成(见下表)六、矩阵的一些特殊操作 1. 变维 实现矩阵变维有两种方法: “ :” 两个矩阵之间运算实现变维; 函数“reshape”对一个矩阵的操作。 例如: a=1:12 a=1 2 3 4 5 6 7 8 9 10 11 12 b=reshape(a,2,6) b =1 3 5 7 9 11 2 4 6 8 10 12

8、c=zeros(3,4) c =0 0 0 0 0 0 0 0 0 0 0 0 c(:)=a(:) c(:)=a(:)c = 1 4 7 10 2 5 8 11 3 6 9 12说明:1)若使用“:”进行变维操作,两个矩阵必须预先定义维 数; 2)这两个命令对于数组同样适用,并且有更广泛意义。 2. 矩阵的变向 矩阵的变向操作包括矩阵的旋转、左右翻转、上下翻转,分 别由函数rot90、fliplr、flipup来实现。flipdim用来对指定维数 进行翻转。 其调用格式为: rot90(A) %将A逆时针方向旋转900 rot90(A,K) %将A逆时针方向旋转(900*K),K值可正可负 f

9、liplr(X) %将X左右翻转 flipup(X) %将X上下翻转 flipdim(X,dim) %将X的第dim维翻转,dim=1时,对行翻转, dim=2时,对列翻转。 例如:矩阵变向示例。 c=1 2 3 4;3 4 5 6;4 5 7 9;3 5 8 0 flipdim(c,1) ans =3 5 8 0 4 5 7 9 3 4 5 6 1 2 3 4 flipdim(c,2) ans =4 3 2 1 6 5 4 3 9 7 5 4 0 8 5 3 flipdim(c,3)ans = 1 2 3 4 3 4 5 6 4 5 7 9 3 5 8 03. 矩阵的抽取 对角元素抽取函数d

10、iag diag(X,k) 抽取矩阵X的第k条对角线的元素向量。k为0时抽取 主对角线,k 为正值时为上方第k条对角线,k 为负 值时为下方第k条对角线。 diag(X) 相当于diag(X,0),即抽取主对角线元素。 此函数还可以用来建立对角矩阵,其形式如下: diag(v,k) 使得向量v为所得矩阵的第k条对角线元素。 diag(v) 使得向量v为矩阵的对角线元素。例如:矩阵抽取示例。 a=pascal(4) %4阶pascal矩阵 a =1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 v=diag(a) ; v v=1 2 6 20 v=diag(a,2); v v

11、=1 4 v=diag(diag(a) v =1 0 0 0 0 2 0 0 0 0 6 0 0 0 0 20 上三角矩阵和下三角矩阵的抽取 tril(X) 提取矩阵X的主下三角部分 tril(X,k) 提取矩阵X的第k条对角线下面的部分(包括第k条对角 线),其中k的含义与diag函数中k的含义相同。triu(X) 提取矩阵X的主上三角部分triu(X,k) 提取矩阵X的第k条对角线上面的部分(包括第k条对角线)例如:对上例中a进行三角抽取。 a1=tril(a,-1) a1 = 0 0 0 0 1 0 0 0 1 3 0 0 1 4 10 0 a1=triu(a,2) a1 =0 0 1

12、1 0 0 0 4 0 0 0 0 0 0 0 0 4. 矩阵的扩展 矩阵的扩展有两种方法: 利用对矩阵标识块的赋值命令X(m1:m2,n1:n2)=a生成大矩阵。其 中,(m2-m1+1)必须等于a的行维数,(n2-n1+1)必须等于a的列 维数。生成的(m2*n2)维的矩阵X,除赋值子阵和已存在的元素 外,其余元素都默认为0。 如:x(2:5,2:5)=a x = 0 0 0 0 0 0 1 1 1 1 0 1 2 3 4 0 1 3 6 10 0 1 4 10 20y(2:5,3:6)=ay = 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 2 3 4 0 0 1 3 6

13、10 0 0 1 4 10 20 利用小矩阵的组合来生成大矩阵。 例:用3 种方法建立多项式的伴随矩阵。 v=1 2 6 20 v =1 2 6 20 a1=compan(v) a1 =-2 -6 -20 1 0 0 0 1 0 a2=-v(2:4);eye(2),zeros(2,1) a2 =-2 -6 -20 1 0 0 0 1 0 a3=-v(2:4); a3(2:3,1:2)=eye(2) a3 =-2 -6 -20 1 0 0 0 1 03、对于大规模的数据,可以通过数据表格方式来输入, 此时可以单击选择工作空间的图标,选中已经编好的矩阵数据文件后,导入到工作空间中。4、可以通过所提

14、供的其他函数来生成二维数组。 ans = 1.0000 0.5000 0.3333 1.0000 0.6667 0.5000 1.0000 0.7500 0.6000ans = 1.0000 2.0000 3.0000 1.0000 1.5000 2.0000 1.0000 1.3333 1.66672. 数组与常数间的运算 数加、数减运算 如:4.+b1 数乘运算 如: 3.*a1 数除运算 如: b1.9 b1.9ans = 9.0000 9.0000 9.0000 4.5000 4.5000 4.5000 3.0000 3.0000 3.00003. 数组的幂运算 运算符:“.”,同矩阵

15、幂运算不同,它表示每个数组元素的幂运 算。 如: a=2 1 3 1;3 1 0 7;-1 2 4 2;1 0 1 5 a.3 a3ans =8 1 -27 -1 27 1 0 343 -1 8 64 -8 1 0 -1 125ans =32 -28 -101 34 99 -12 -151 239 -1 49 93 8 51 -17 -98 139 4. 数组的指数运算、对数运算和开方运算 运算符为: exp log sqrt a=2 4;3 1 exp(a) expm(a) ans = 7.3891 54.5982 20.0855 2.7183 三、数组函数运算 对于数组运算的通用函数运算,

16、只要把所有运算的数组当数字一样带入函数中,不需要做什么变形。其通用形式为funname(A),其中funname为常用函数名,函数名见表2.6和表2.7 如:sin(a) log(a) exp(a)ans = 84.8655 84.7302 63.5476 63.6830四、数组逻辑运算 1. 基本逻辑关系运算 下表为基本逻辑运算表:说明: 在关系比较中,若比较的双方为同维的数组,则比较的结果也是同维数组。它的元素值由0和1 组成。当比较双方对应位置上的元素值满足比较关系时,它的对应值为1,否则为0。 当比较对方中一方为常数,另一方为一数组,则结果与数组同维,且其值为已知数组与常数依次比较的结

17、果; 在算术运算、比较运算、逻辑与或非运算中,它们的优先级关系先后为:比较运算 、 算术运算、逻辑与或非运算。 例:数组的逻辑运算演示 a=1 2 3;2 3 4;3 4 5 x=5 y=ones(3)*5 ax=x=a %等同于ax=y b=0 1 0;1 0 1;0 0 1b = 0 1 0 1 0 1 0 0 1 ab=a&bab = 0 1 0 1 0 1 0 0 1 n_b=bn_b = 1 0 1 0 1 0 1 1 02. 逻辑关系函数运算(二)、低维数组的排序例: a=1 2 3;2 3 4;3 4 5 p1=poly(a) p1 = 1.0000 -9.0000 -6

18、.0000 -0.0000 poly2sym(p1)ans = x3-9*x2-6*x-3.3130e-015 说明: 1) 由特征多项式生成多项式的首项系数一定是1; 2) n 阶矩阵一般产生 n 次多项式3. 由根创建多项式 由给定的根也可产生其对应的多项式,此功能由函数poly实现。 例:由给定的根向量生成其对应的多项式 root=-5 3+4j 3-4j p=poly(root) p = 1 11 55 125 poly2sym(p)ans = x3+11*x2+55*x+125 二、多项式运算 1. 求多项式的值 方法: 计算函数polyval: 以数组为输入变量值代入多项式计算; 计算函数polyvalm:以矩阵为计算单元,进行矩阵式运算, 以求多项式的值(变量矩阵为方阵)。 例: p=1 11 55 125 b=1 1;1 1 polyval(p,b) ans = 192 192 192 192 polyvalm(p,b) ans =206 81 81 206 2. 求多项式的根 方法: 直接调用函数roots , 求解多项式的根; 通过建立多项式伴随矩阵再求特征

温馨提示

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

评论

0/150

提交评论