《第2章 MATLAB数值运算教材课程》由会员分享,可在线阅读,更多相关《第2章 MATLAB数值运算教材课程(33页珍藏版)》请在金锄头文库上搜索。
1、1,第2章 MATLAB数值运算,2,本章目标,掌握矩阵、向量、数组和多项式的构造和运算方法 能够使用常用的几种函数进行一般的数值问题求解,3,主要内容,2.1 矩阵 2.2 向量 2.3 数组 2.4 多项式,4,2.1 矩阵,MATLAB = matrix(矩阵)+ laboratory(实验室),6,例:输入矩阵A、B的值,A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16 B=1,sqrt(25),9,132,6,10,7*2 3+sin(pi),7,11,15,4, abs(-8),12,16,7,2.1.2 矩阵下标与子矩阵提取,A(m, n)提
2、取第m行,第n列元素 A(:, n)提取第n列元素 A(m, :)提取第m行元素 A(m1:m2, n1:n2)提取第m1行到第m2行和第n1列到第n2列的所有元素 A(m:end, n)提取从第m行到最末行和第n列的子块 A(:)得到一个长列矢量,该矢量的元素按矩阵的列进行排列,8,例: 修改矩阵A中元素的数值,A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0); 则矩阵变为: A = 0 2 3 4 5 7 7 8 9 10 11 12 13 14 15 1,9,2
3、.1.3 矩阵的算术运算,1矩阵的加减运算:(加)、(减) 2矩阵乘法:*(乘) 3矩阵除法:/ (右除)、 (左除) 4矩阵的乘方:(乘方) 5矩阵转置: (转置运算符),10,2.1.4 矩阵的关系运算,关系运算符: (大于) =(大于或等于)、=(等于)、=(不等于)。 关系运算符的运算法则: 关系运算将对两个矩阵的对应元素进行比较。,11,2.1.5 矩阵的逻辑运算,必须是两个同维矩阵或其中一个矩阵为标量才能进行 MATLAB提供了一些逻辑函数,12,2.1.6 矩阵函数,13,1求矩阵的行列式的值, X=1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16;
4、 det(X) ans = -5464,14,2求矩阵的秩, X=1, 2, 3; 2, 3 -5; 4 7 1; rank(X) ans = 2,15,3求逆矩阵, X=1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16; Y=inv(X) Y = 0.2299 0.0908 0.0351 -0.0717 0.1940 0.0798 -0.0659 0.0095 0.1274 -0.0835 0.0322 0.0176 -0.2892 0.0084 0.0275 0.0377 Y*X%矩阵与其逆阵相乘结果是单位矩阵 ans = 1.0000 0 0 0 0 1.0
5、000 0 0 0 0 1.0000 0 0 0 0 1.0000 X*Y%矩阵的逆阵是唯一的 ans = 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000,16,4求特征值和特征向量, X=-2 1 1;0 2 0;-4 1 3; V D=eig(X) V= -0.7071 -0.2425 0.3015 0 0 0.9045 -0.7071 -0.9701 0.3015 D= -1 0 0 0 2 0 0 0 2,17,5矩阵分解, A=2 -1 3;1 2 1;2 4 3; L, U=lu(A) %三角分解 L = 1.0000 0 0
6、 0.5000 0.5000 1.0000 1.0000 1.0000 0 U = 2.0000 -1.0000 3.0000 0 5.0000 0 0 0 -0.5000,18,6求解线形方程组,19,2.2 向量,向量是矢量运算的基础 行向量 列向量,20,2.2.1 向量的构造,1逐个输入 a=1 3 9 10 15 16%采用空格和逗号分隔构成行向量 b=1; 3; 9; 10; 15; 16 %采用分号隔开构成列向量 2利用冒号表达式“:”生成向量 x=1:2:9%初值=1,终值=9,步长=2 z=1:5%初值=1,终值=5,默认步长=1 3利用函数生成向量 x=linspace(1
7、, 9, 5)%初值=1,终值=9,元素数目=5,21,2.2.2 向量的运算,1点积:dot函数 2叉积:cross函数 例 a = 1 2 3; b = 4 5 6; c = dot(a, b) d = cross(a, b) c = 32 d = -3 6 -3,22,2.3 数组,数组运算方式是一种元素对元素的运算(不按照线性代数的规则) ; 除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加一个圆点来生成。,23,数组运算, x=1 2 3; 4 5 6; 7 8 9; y=9 8 7; 6 5 4; 3 2 1; x+y%数组和矩阵的加法规则相同 an
8、s = 10 10 10 10 10 10 10 10 10 x.*y%数组乘法:对应元素相乘 ans = 9 16 21 24 25 24 21 16 9 x*y%矩阵乘法:按照线性代数理论进行 ans = 30 24 18 84 69 54 138 114 90,24,多维数组维间处理的函数,1reshape 2size 3ndims 4cat 5permute 6ipermute 7shiftdim 8squeeze,25,2.4 多项式,多项式是形如 P(x) = a0 xn+a1xn-1+an-1x+an的式子。 在MATLAB中,多项式用行向量表示: P= a0 a1 an-1 a
9、n,26,2.4.1 多项式的生成与表达,例:已知向量A=1 34 80 0 0,用此向量构造一多项式并显示结果。 (x-1)(x+34)(x+80)(x-0)(x-0) PA=poly(A) PAX=poly2str(PA,X) X5 + 113 X4 + 2606 X3 - 2720 X2,27,2.4.2 多项式的运算,1. 多项式的算术运算 参加加减运算的多项式应该具有相同的阶次。 多项式乘法采用conv函数,除法由deconv函数完成。 2. 求根 求多项式的根采用roots函数。 3. 求值 函数polyval可以将某个特定数值代入多项式 函数polyvalm可以求出当多项式中的未知数为方阵时的值。 4. 求导 使用polyder函数对多项式求导。,28,扩展阅读,2.5 特殊矩阵 2.6 稀疏矩阵,29,上机指导,2.7工作空间与内存变量 2.7.1变量的查看 2.7.2变量的文件保存与获取,30,应用举例,31,应用举例,32,应用举例,例2-31 将表达式(x-4)(x+5)(x2-6x+9)展开为多项式形式,并求其对应的一元n次方程的根。 p=conv(1 -4,conv(1 5,1 -6 9) px=poly2str(p,x) x=roots(p),33,学好计算机的唯一途径是 你的编程能力与你在计算机上投入的时间成,结束语,上机练习,正比,