您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Matlab教程2.
1第2章MATLAB数值运算2本章目标掌握矩阵、向量、数组和多项式的构造和运算方法能够使用常用的几种函数进行一般的数值问题求解3主要内容2.1矩阵2.2向量2.3数组2.4多项式42.1矩阵MATLAB=matrix(矩阵)+laboratory(实验室)52.1.1矩阵的构造通过直接输入矩阵的元素构造矩阵:用中括号[]把所有矩阵元素括起来同一行的不同数据元素之间用空格或逗号间隔用分号(;)指定一行结束可分成几行进行输入,用回车符代替分号数据元素可以是表达式,系统将自动计算结果6例:输入矩阵A、B的值A=[1234;5678;9101112;13141516]B=[1,sqrt(25),9,132,6,10,7*23+sin(pi),7,11,15,4,abs(-8),12,16]72.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=[1234;5678;9101112;13141516];A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);则矩阵变为:A=023457789101112131415192.1.3矩阵的算术运算1.矩阵的加减运算:+(加)、-(减)2.矩阵乘法:*(乘)3.矩阵除法:/(右除)、\(左除)4.矩阵的乘方:^(乘方)5.矩阵转置:'(转置运算符)102.1.4矩阵的关系运算关系运算符:(小于)、=(小于或等于)、(大于)=(大于或等于)、==(等于)、~=(不等于)。关系运算符的运算法则:关系运算将对两个矩阵的对应元素进行比较。112.1.5矩阵的逻辑运算必须是两个同维矩阵或其中一个矩阵为标量才能进行MATLAB提供了一些逻辑函数逻辑函数功能all如果所有的元素都是非零值,返回1;否则,返回0。any如果有一个元素为非零值,那么返回1;否则,返回0isempty判断是否空矩阵isequal判断两矩阵是否相同isreal判断是否是实矩阵find返回一个由非零元素的下标组成的向量122.1.6矩阵函数函数功能det计算矩阵所对应的行列式的值diag抽取矩阵对角线元素eig求特征值和特征向量inv求矩阵的逆阵lu三角分解Poly求特征多项式Rank求矩阵的秩Svd奇异值分解131.求矩阵的行列式的值X=[1230;5608;901112;0141516];det(X)ans=-5464142.求矩阵的秩X=[1,2,3;2,3-5;471];rank(X)ans=2153.求逆矩阵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.000000001.000000001.000000001.0000X*Y%矩阵的逆阵是唯一的ans=1.000000001.000000001.000000001.0000164.求特征值和特征向量X=[-211;020;-413];[VD]=eig(X)V=-0.7071-0.24250.3015000.9045-0.7071-0.97010.3015D=-100020002175.矩阵分解A=[2-13;121;243];[L,U]=lu(A)%三角分解L=1.0000000.50000.50001.00001.00001.00000U=2.0000-1.00003.000005.0000000-0.5000186.求解线形方程组192.2向量向量是矢量运算的基础行向量列向量202.2.1向量的构造1.逐个输入a=[139101516]%采用空格和逗号分隔构成行向量b=[1;3;9;10;15;16]%采用分号隔开构成列向量2.利用冒号表达式“:”生成向量x=1:2:9%初值=1,终值=9,步长=2z=1:5%初值=1,终值=5,默认步长=13.利用函数生成向量x=linspace(1,9,5)%初值=1,终值=9,元素数目=5212.2.2向量的运算1.点积:dot函数2.叉积:cross函数例a=[123];b=[456];c=dot(a,b)d=cross(a,b)c=32d=-36-3222.3数组数组运算方式是一种元素对元素的运算(不按照线性代数的规则);除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加一个圆点来生成。23数组运算x=[123;456;789];y=[987;654;321];x+y%数组和矩阵的加法规则相同ans=101010101010101010x.*y%数组乘法:对应元素相乘ans=9162124252421169x*y%矩阵乘法:按照线性代数理论进行ans=3024188469541381149024多维数组维间处理的函数1.reshape2.size3.ndims4.cat5.permute6.ipermute7.shiftdim8.squeeze252.4多项式多项式是形如P(x)=a0xn+a1xn-1+…+an-1x+an的式子。在MATLAB中,多项式用行向量表示:P=[a0a1…an-1an]262.4.1多项式的生成与表达例:已知向量A=[1–34–8000],用此向量构造一多项式并显示结果。(x-1)(x+34)(x+80)(x-0)(x-0)PA=poly(A)PAX=poly2str(PA,'X')X^5+113X^4+2606X^3-2720X^2272.4.2多项式的运算1.多项式的算术运算参加加减运算的多项式应该具有相同的阶次。多项式乘法采用conv函数,除法由deconv函数完成。2.求根求多项式的根采用roots函数。3.求值函数polyval可以将某个特定数值代入多项式函数polyvalm可以求出当多项式中的未知数为方阵时的值。4.求导使用polyder函数对多项式求导。28扩展阅读2.5特殊矩阵2.6稀疏矩阵函数功能eye产生单位矩阵zeros产生全部元素为0的矩阵ones产生全部元素为1的矩阵[]产生空矩阵rand产生均匀分布随机矩阵randperm产生随机排列linspace产生线性等分的矩阵compan产生伴随矩阵magicMagic(魔方)矩阵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([15],[1-69]))px=poly2str(p,’x’)x=roots(p)
本文标题:Matlab教程2.
链接地址:https://www.777doc.com/doc-2887511 .html