《MATLAB数值运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB数值运算.ppt(33页珍藏版)》请在三一办公上搜索。
1、1,第2章 MATLAB数值运算,2,本章目标,掌握矩阵、向量、数组和多项式的构造和运算方法能够使用常用的几种函数进行一般的数值问题求解,3,主要内容,2.1 矩阵2.2 向量 2.3 数组 2.4 多项式,4,2.1 矩阵,MATLAB=matrix(矩阵)+laboratory(实验室),5,2.1.1 矩阵的构造,通过直接输入矩阵的元素构造矩阵:用中括号 把所有矩阵元素括起来同一行的不同数据元素之间用空格或逗号间隔用分号(;)指定一行结束可分成几行进行输入,用回车符代替分号数据元素可以是表达式,系统将自动计算结果,6,例:输入矩阵A、B的值,A=1 2 3 4;5 6 7 8;9 10
2、11 12;13 14 15 16B=1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,15,4,abs(-8),12,16,7,2.1.2 矩阵下标与子矩阵提取,A(m,n)提取第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)=
3、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.1.3 矩阵的算术运算,1矩阵的加减运算:(加)、(减)2矩阵乘法:*(乘)3矩阵除法:/(右除)、(左除)4矩阵的乘方:(乘方)5矩阵转置:(转置运算符),10,2.1.4 矩阵的关系运算,关系运算符:(大于)=(大于或等于)、=(等于)、=(不等于)。关系运算符的运算法则:关系运算将对两个矩阵的对应元素进行比较。,11,2.1.5 矩阵的逻辑运算,必须是两个同维矩阵或其中一个矩阵为标量才能进行 MATLAB提供了一些逻
4、辑函数,12,2.1.6 矩阵函数,13,1求矩阵的行列式的值,X=1 2 3 0;5 6 0 8;9 0 11 12;0 14 15 16;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.0377Y
5、*X%矩阵与其逆阵相乘结果是单位矩阵ans=1.0000 0 0 0 0 1.0000 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.3015D=-1 0 0 0 2 0 0 0 2,17,5矩阵分解,A=2-1 3;1 2 1;2 4 3;L,U=lu
6、(A)%三角分解 L=1.0000 0 0 0.5000 0.5000 1.0000 1.0000 1.0000 0U=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,步长=2z=1:5%初值=1,终值=5,默认步长=13利用函数生成向量 x=linspace
7、(1,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=32d=-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%数组和矩阵的加法规则相同ans=10 10 10 10 10 10 10 10 10 x.*
8、y%数组乘法:对应元素相乘ans=9 16 21 24 25 24 21 16 9 x*y%矩阵乘法:按照线性代数理论进行ans=30 24 18 84 69 54 138 114 90,24,多维数组维间处理的函数,1reshape2size3ndims4cat5permute 6ipermute 7shiftdim 8squeeze,25,2.4 多项式,多项式是形如P(x)=a0 xn+a1xn-1+an-1x+an的式子。在MATLAB中,多项式用行向量表示:P=a0 a1 an-1 an,26,2.4.1 多项式的生成与表达,例:已知向量A=1 34 80 0 0,用此向量构造一多项
9、式并显示结果。(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工作空间与内存变量 变量的查看变量的文件保存与获取,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,学好计算机的唯一途径是 你的编程能力与你在计算机上投入的时间成,结束语,上机练习,正比,
链接地址:https://www.31ppt.com/p-5439130.html