《课件4-matlab在高等数学中的应用 [适合打印版]》由会员分享,可在线阅读,更多相关《课件4-matlab在高等数学中的应用 [适合打印版](5页珍藏版)》请在金锄头文库上搜索。
1、2010年12月19日星期 日电子信息学院第三章 MATLAB在高等数学中的 应用电子信息学院2010年12月19日星期 日电子信息学院3.1 矩阵分析矩阵分析1.矢量范数和矩阵范数矢量范数和矩阵范数 用来度量矩阵或向量在某种意义下的长度。 n=norm(A) n=norm(A,p) 2.矩阵求逆和行列式值矩阵求逆和行列式值 矩阵求逆矩阵求逆 V=inv(A) 方阵的行列式 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就 称为矩阵所对应的行列式的值。在方阵的行列式 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就 称为矩阵所对应的行列式的值。在MATLAB中,求方阵中
2、,求方阵A所对应的行 列式的值的函数是所对应的行 列式的值的函数是det(A)。 X=det(A) 3.解线性方程组解线性方程组 用矩阵表示线性方程组: AX=B inv(A)*AX=inv(A)*B X=inv(A)*B X=AB XA=B X=B*inv(A) X=B/A2010年12月19日星期 日电子信息学院 例:求下列方程组的解X=x1;x2;x3。将线性方程写成矩阵形式:AXB A=6,3,4;-2,5,7;8,-4,-3; B=3;-4;-7; X=AB 运行结果:0.6 X=7 即: x10.6;x2=7;x3=-5.4 -5.4 2010年12月19日星期 日电子信息学院4.
3、利用矩阵的分解求解线性方程组 矩阵分解是指根据一定的原理用某种算法 将一个矩阵分解成若干个矩阵的乘积。 常见的矩阵分解有利用矩阵的分解求解线性方程组 矩阵分解是指根据一定的原理用某种算法 将一个矩阵分解成若干个矩阵的乘积。 常见的矩阵分解有LU分解、分解、QR分解、分解、 Cholesky分解,以及分解,以及Schur分解、分解、 Hessenberg分解、奇异分解等。分解、奇异分解等。2010年12月19日星期 日电子信息学院矩阵分解矩阵分解 1. 三角三角(LU)分解函数 (要求:分解函数 (要求:A为方阵为方阵!) 矩阵的) 矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三
4、角矩阵的乘积形 式。线性代数中已经证明,只要方阵分解就是将一个矩阵表示为一个交换下三角矩阵和一个上三角矩阵的乘积形 式。线性代数中已经证明,只要方阵A是非奇异的,是非奇异的,LU分解总是可以进行的。分解总是可以进行的。 MATLAB提供的提供的lu函数用于对矩阵进行函数用于对矩阵进行LU分解,其调用格式为:分解,其调用格式为: L,U=lu(X):产生一个上三角阵:产生一个上三角阵U和一个变换形式的下三角阵和一个变换形式的下三角阵L(行交换行交换),使之满足,使之满足 X=LU。注意,这里的矩阵。注意,这里的矩阵X必须是方阵。必须是方阵。 L,U,P=lu(X):产生一个上三角阵:产生一个上三
5、角阵U和一个下三角阵和一个下三角阵L以及一个置换矩阵以及一个置换矩阵P,使之满足,使之满足 PX=LU。当然矩阵。当然矩阵X同样必须是方阵。 实现同样必须是方阵。 实现LU分解后,线性方程组分解后,线性方程组Ax=b的解的解x=U(Lb)或或x=U(LPb),这样可以大大提高运算 速度。格式一:,这样可以大大提高运算 速度。格式一:L,U=lu(A) 说明:A=L*U,L:置换下三角矩阵,U:上三角矩阵 格式二:格式二:L,U,P=lu(A) 说明:L*U=P*A, L:下三角矩阵,U:上三角矩阵,P:置换矩阵 例用例用LU分解求例分解求例3-5线性方程组。线性方程组。 A=6,3,4;-2,
6、5,7;8,-4,-3; b=3,-4,-7; L,U=lu(A); x=U(Lb) 或采用或采用LU分解的第分解的第2种格式,命令如下:种格式,命令如下: L,U ,P=lu(A); x=U(LP*b)2010年12月19日星期 日电子信息学院2. 正交正交(QR)分解函数 格式一:分解函数 格式一:Q,R=qr(A) 说明:A=Q*R,Q:正交归一化矩阵(Q*Q=I),R:上三角矩阵 格式二:格式二: Q,R,E=qr(A) 说明:A*E=Q*R,Q:归一化矩阵,R:上三角矩阵,E:置换矩阵 QR分解 对矩阵分解 对矩阵X进行进行QR分解,就是把分解,就是把X分解为一个正交矩阵分解为一个正
7、交矩阵Q和一个上三角矩阵和一个上三角矩阵R的乘积形 式。的乘积形 式。QR分解只能对方阵进行。分解只能对方阵进行。MATLAB的函数的函数qr可用于对矩阵进行可用于对矩阵进行QR分解,其 调用格式为:分解,其 调用格式为: Q,R=qr(X):产生一个一个正交矩阵:产生一个一个正交矩阵Q和一个上三角矩阵和一个上三角矩阵R,使之满足,使之满足X=QR。 Q,R,E=qr(X):产生一个一个正交矩阵:产生一个一个正交矩阵Q、一个上三角矩阵、一个上三角矩阵R以及一个置换矩阵以及一个置换矩阵E, 使之满足, 使之满足XE=QR。 实现。 实现QR分解后,线性方程组分解后,线性方程组Ax=b的解的解x=
8、R(Qb)或或x=E(R(Qb)。 例 用。 例 用QR分解求解线性方程组。 命令如下:分解求解线性方程组。 命令如下: A=6,3,4;-2,5,7;8,-4,-3; b=3,-4,-7; Q,R=qr(A); x=R(Qb) 或采用或采用QR分解的第分解的第2种格式,命令如下:种格式,命令如下: Q,R,E=qr(A); x=E*(R(Qb)2010年12月19日星期 日电子信息学院5.矩阵结构形式的提取与变换矩阵结构形式的提取与变换左右翻转fliplrX=fliplr(A)对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二 列和倒数第二列调换,对矩阵实施左右翻转是将原矩阵的第一列和
9、最后一列调换,第二 列和倒数第二列调换,依次类推。,依次类推。 上下翻转flipudX=flipud(A) 反时针旋转rot90 X=rot90(A)将矩阵A反时针旋转90度 X=rot90(A,k)将矩阵A反时针旋转k90度2010年12月19日星期 日电子信息学院 对角化diag X=diag(A)/diag(A,k)、 diag(V) 提取矩阵的对角线元素 设A为mn矩阵,diag(A)函数用于提取矩阵A 主对角线元素,产生一个具有min(m,n)个元素 的列向量。 diag(A)函数还有一种形式diag(A,k),其功能是 提取第k条对角线的元素。 构造对角矩阵 设V为具有m个元素的向
10、量,diag(V)将产生一 个mm对角矩阵,其主对角线元素即为向量V 的元素。 diag(V)函数也有另一种形式diag(V,k),其功能 是产生一个nn(n=m+abs(k)对角阵,其第k条 对角线的元素即为向量V的元素。2010年12月19日星期 日电子信息学院取左下三角部分trilX=tirl(A)/tril(A,k) 下三角矩阵 在MATLAB中,提取矩阵A的下三角矩阵的函数是 tril(A)和tril(A,k),其用法与提取上三角矩阵的函数 triu(A)和triu(A,k)完全相同。 取右上三角部分triuX=triu(A)/triu(A,k) 上三角矩阵 求矩阵A的上三角阵的MA
11、TLAB函数是triu(A)。 triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵 A的第k条对角线以上的元素。例如,提取矩阵A的第2 条对角线以上的元素,形成新的矩阵B。 按列取出排成列“:”X=A(:)作业:显示图,鼠标点击放大功能,点取位置, 显示放大区域。作业:显示图,鼠标点击放大功能,点取位置, 显示放大区域。2010年12月19日星期 日电子信息学院3.2 多项式运算多项式运算3.2.1 多项式表示及四则运算多项式表示及四则运算1.MATLAB的多项式表示上列多项式用其系数的行向量表示,即:说明:向量元素按幂指数降序排列;若某次幂指数为0,在向量中,0不能省略。 例
12、:p(x)=x3-2x-5,行向量p=1,0,-2,-52010年12月19日星期 日电子信息学院2. 多项式的加减 两个多项式阶次相同时,与标准数组(矩阵)加法相同; 两个多项式阶次不同时,低阶多项式首位必须补零。 作业作业:编写子函数可对任意二个多项式进行加减操作编写子函数可对任意二个多项式进行加减操作.(自动补零自动补零)3.多项式相乘 两个行向量的卷积,用函数conv实现。 w=conv(u,v) 函数函数conv(u,v)用于求多项式用于求多项式u和和v的乘积。这里,的乘积。这里,u、v是两个多项式 系数向量。 。是两个多项式 系数向量。 。2010年12月19日星期 日电子信息学院
13、4.多项式相除 q,r=deconv(u,v) 说明:u-被除多项式,v-除数多项式; q-商多项式,r-余数多项式。 函数函数Q,r=deconv(P1,P2)用于对多项式用于对多项式P1和和P2作 除法运算。其中作 除法运算。其中Q返回多项式返回多项式P1除以除以P2的商式,的商式, r返回返回P1除以除以P2的余式。这里,的余式。这里,Q和和r仍是多项 式系数向量。仍是多项 式系数向量。 deconv是是conv的逆函数,即有的逆函数,即有P1=conv(P2,Q)+r。 作业: 对输入的。 作业: 对输入的2个多项式进行加减乘除的四则 运算。个多项式进行加减乘除的四则 运算。2010年
14、12月19日星期 日电子信息学院3.2.2 多项式求导、求根和求值多项式求导、求根和求值1.多项式求导polyder k=polyder(p)-返回多项式p的一阶导数 k=polyder(u,v)-返回多项式u与v乘积的导数 q,d=polyder(u,v) -返回多项式u/v的导数, q为分子,d为分母 2.多项式的根roots r=roots(p)-求多项式p(x)=0的根,r为列向量 pp=poly(r)-利用根r重组多项式 3.多项式求值polyval y=polyval(p,x)-y为多项式p在x处的值,x可以是 复数或数组。2010年12月19日星期 日电子信息学院3.2.3 多项
15、式拟合与插值多项式拟合与插值1.多项式拟合函数polyfit p=polyfit(x,y,n)利用已知数据向量x和y,采用最小二乘法构造出n阶多项式去逼近已知的离散数据。p为求出的多项式系数,p的长度为n1。 2.多项式插值 插值:在已知数据点之间用某种算法寻找估计值的过程。 一维插值:yi=interp1(x,y,xi,method)为给定的数据对(x,y)以及x坐标上的插值范围xi,用指定的插值方法(method)实现插值,yi是插值后对应数据点的y坐标。 二维插值 高维插值和交互式样条插值2010年12月19日星期 日电子信息学院3.2.5 数据插值数据插值 3.2.5.1 一维数据插值
16、 在一维数据插值 在MATLAB中,实现这些插值的函数是中,实现这些插值的函数是interp1, 其调用格式为:, 其调用格式为: Y1=interp1(X,Y,X1,method) 函数根据函数根据X,Y的值,计算函数在的值,计算函数在X1处的值。处的值。X,Y 是两个等长的已知向量,分别描述采样点和样 本值,是两个等长的已知向量,分别描述采样点和样 本值,X1是一个向量或标量,描述欲插值的点,是一个向量或标量,描述欲插值的点, Y1是一个与是一个与X1等长的插值结果。等长的插值结果。method是插 值方法,允许的取值有是插 值方法,允许的取值有linear线性插值、 线性插值、 nearest最邻近插值、最邻近插值、cubic立方插值、 立方插值、 spline三次样条插值。三次