资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第2章章 MATLAB数值运算数值运算1本章目标l掌握矩阵、向量、数组和多项式的构造和运算方法l能够使用常用的几种函数进行一般的数值问题求解2主要内容l2.1矩阵矩阵l2.2向量向量l2.3数组数组l2.4多项式多项式32.1 矩阵MATLAB=matrix(矩阵)(矩阵)+laboratory(实验室)(实验室)42.1.1 矩阵的构造l通过直接输入矩阵的元素构造矩阵:通过直接输入矩阵的元素构造矩阵:l用中括号 把所有矩阵元素括起来l同一行的不同数据元素之间用空格或逗号间隔l用分号(;)指定一行结束l可分成几行进行输入,用回车符代替分号l数据元素可以是表达式,系统将自动计算结果5例:输入矩阵例:输入矩阵A、B的值的值A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16B=1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,15,4,abs(-8),12,1662.1.2 矩阵下标与子矩阵提取矩阵下标与子矩阵提取lA(m,n)提取第提取第m行,第行,第n列元素列元素lA(:,n)提取第提取第n列元素列元素lA(m,:)提取第提取第m行元素行元素lA(m1:m2,n1:n2) 提取第提取第m1行到第行到第m2行和第行和第n1列到第列到第n2列的所有元素列的所有元素lA(m:end,n)提取从第提取从第m行到最末行和第行到最末行和第n列的子块列的子块lA(:)得到一个长列矢量,该矢量的元素按矩得到一个长列矢量,该矢量的元素按矩阵的列进行排列阵的列进行排列7例:例: 修改矩阵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 182.1.3 矩阵的算术运算l1矩阵的加减运算:矩阵的加减运算:(加加)、(减减)l2矩阵乘法:矩阵乘法:*(乘乘)l3矩阵除法:矩阵除法:/(右除右除)、(左除左除)l4矩阵的乘方:矩阵的乘方:(乘方乘方)l5矩阵转置:矩阵转置:(转置运算符转置运算符)92.1.4 矩阵的关系运算l关系运算符:关系运算符:(小于)、(大于)=(大于或等于)、=(等于)、=(不等于)。l关系运算符的运算法则:关系运算符的运算法则:l关系运算将对两个矩阵的对应元素进行比较。 102.1.5 矩阵的逻辑运算l必须是两个同维矩阵或其中一个矩阵为标量才能进行必须是两个同维矩阵或其中一个矩阵为标量才能进行lMATLAB提供了一些逻辑函数提供了一些逻辑函数逻逻辑辑函函数数功功能能all如果所有的元素都是非零值,返回1;否则,返回0。any如果有一个元素为非零值,那么返回1;否则,返回0isempty判断是否空矩阵isequal判断两矩阵是否相同isreal判断是否是实矩阵find返回一个由非零元素的下标组成的向量112.1.6 矩阵函数函函数数功功能能det计算矩阵所对应的行列式的值diag抽取矩阵对角线元素eig求特征值和特征向量inv求矩阵的逆阵lu三角分解Poly求特征多项式Rank求矩阵的秩Svd奇异值分解121求矩阵的行列式的值X=1230;5608;901112;0141516;det(X)ans=-5464132求矩阵的秩X=1,2,3;2,3-5;471;rank(X)ans=2143求逆矩阵X=1230;5608;901112;0141516;Y=inv(X)Y=0.22990.09080.0351-0.07170.19400.0798-0.06590.00950.1274-0.08350.03220.0176-0.28920.00840.02750.0377Y*X%矩阵与其逆阵相乘结果是单位矩阵矩阵与其逆阵相乘结果是单位矩阵ans=1.00000000 1.0000 00001.000000 001.0000X*Y%矩阵的逆阵是唯一的矩阵的逆阵是唯一的ans=1.00000000 1.0000 00001.000000 001.0000154求特征值和特征向量X=-211;020;-413;VD=eig(X)V=-0.7071-0.2425 0.3015000.9045-0.7071-0.9701 0.3015D=-100020002165矩阵分解A=2-13;121;243;L,U=lu(A)%三角分解三角分解L=1.0000000.50000.50001.00001.00001.00000U=2.0000-1.00003.000005.0000000-0.5000176求解线形方程组182.2 向量l向量是矢量运算的基础向量是矢量运算的基础l行向量l列向量 192.2.1 向量的构造l1逐个输入逐个输入a=1 3 9 10 15 16%采用空格和逗号分隔构成行向量b=1; 3; 9; 10; 15; 16 %采用分号隔开构成列向量l2利用冒号表达式利用冒号表达式“:”生成向量生成向量x=1:2:9%初值=1,终值=9,步长=2z=1:5%初值=1,终值=5,默认步长=1l3利用函数生成向量利用函数生成向量 x=linspace(1, 9, 5)%初值=1,终值=9,元素数目=5202.2.2 向量的运算l1点积:点积:dot函数函数l2叉积:叉积:cross函数函数l例 a = 1 2 3; b = 4 5 6; c = dot(a, b) d = cross(a, b) c =32d = -3 6 -3 212.3 数组l数组运算方式是一种元素对元素的运算(数组运算方式是一种元素对元素的运算(不按不按照线性代数的规则照线性代数的规则);l除了加、减法的与矩阵相同以外,乘、除、幂除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加的数组运算符都是通过在标准的运算符前面加一个圆点来生成。一个圆点来生成。22数组运算x=123;456;789;y=987;654;321;x+y%数组和矩阵的加法规则相同数组和矩阵的加法规则相同ans=101010101010101010x.*y%数组乘法:对应元素相乘数组乘法:对应元素相乘ans=9162124252421169x*y%矩阵乘法:按照线性代数理论进行矩阵乘法:按照线性代数理论进行ans=3024188469541381149023多维数组维间处理的函数l1reshapel2sizel3ndimsl4catl5permutel6ipermutel7shiftdiml8squeeze242.4 多项式多项式是形如多项式是形如P(x) = aP(x) = a0 0x xn n+a+a1 1x xn-1n-1+ +a+an-1n-1x+ax+an n的式子。的式子。在在MATLABMATLAB中,多项式用行向量表示:中,多项式用行向量表示:P= aP= a0 0 a a1 1 a an-1n-1 a an n 252.4.1 多项式的生成与表达l例:已知向量例:已知向量A=1348000,用此向量构造一多项,用此向量构造一多项式并显示结果。式并显示结果。(x-1)(x+34)(x+80)(x-0)(x-0)PA=poly(A)PAX=poly2str(PA,X)X5+113X4+2606X3-2720X2262.4.2 多项式的运算l1.多项式的算术运算多项式的算术运算l参加加减运算的多项式应该具有相同的阶次。l多项式乘法采用conv函数,除法由deconv函数完成。l2.求根求根l求多项式的根采用roots函数。l3.求值求值l函数polyval可以将某个特定数值代入多项式l函数polyvalm可以求出当多项式中的未知数为方阵时的值。l4.求导求导l使用polyder函数对多项式求导。27扩展阅读l2.5特殊矩阵特殊矩阵l2.6稀疏矩阵稀疏矩阵函函 数数功功 能能eye产生单位矩阵zeros产生全部元素为0的矩阵ones产生全部元素为1的矩阵产生空矩阵rand产生均匀分布随机矩阵randperm产生随机排列linspace产生线性等分的矩阵compan产生伴随矩阵magicMagic(魔方)矩阵28上机指导l2.7工作空间与内存变量工作空间与内存变量l2.7.1变量的查看l2.7.2变量的文件保存与获取 29应用举例30应用举例31应用举例例2-31将将表表达达式式(x-4)(x+5)(x2-6x+9)展展开开为为多多项项式式形式,并求其对应的一元形式,并求其对应的一元n次方程的根。次方程的根。p=conv(1-4,conv(15,1-69)px=poly2str(p,x)x=roots(p)32l学好计算机的唯一途径是学好计算机的唯一途径是l你的编程能力与你在计算机上投入的时间成你的编程能力与你在计算机上投入的时间成结 束 语33
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号