MATLAB第4章数值运算基础.ppt
《MATLAB第4章数值运算基础.ppt》由会员分享,可在线阅读,更多相关《MATLAB第4章数值运算基础.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 数值运算基础 MATLAB的的计计算算包包括括数数值值计计算算和和符符号号计计算算两两类类,本本章章将将带带大大家家学学习习数数值值计计算算部部分分。其其中中将将主主要要学学习习与与我我们们专专业业密密切切相相关关的的多多项项式式、方方程程组组求求解解、数数据据分分析析和和数数字字信信号号处处理的快速傅里叶变换。理的快速傅里叶变换。1物理与电气工程学院第第1 1节多项式节多项式polynomialpolynomial MATLAB用用行行向向量量表表示示多多项项式式。将将多多项项式式的的系系数数按按降降幂幂次次序序存存放放在在行行向向量量中。如:中。如:的系数行向量为的系数行向量为 注
2、意:多项式中缺少的幂次系数一注意:多项式中缺少的幂次系数一定要用定要用“0”补齐。补齐。2物理与电气工程学院一、创建多项式一、创建多项式1、系数矢量直接输入法、系数矢量直接输入法在命令窗口直接输入多式的系数向量在命令窗口直接输入多式的系数向量 【例【例4-1】输入系数矢量,创建多项式】输入系数矢量,创建多项式 x3-4*x2+3*x+2。p=1 -4 3 2poly2sym(p)%将矢量将矢量P表示为多项式的手写形式表示为多项式的手写形式Polynomial coefficient vector to symbolic polynominal3物理与电气工程学院2、方阵方阵特征多项式输入法特征
3、多项式输入法p=poly(A)若若A为为nn的的矩阵矩阵,则返回值,则返回值P将是一个将是一个含有含有n+1个元素的行向量,也就是该矩阵个元素的行向量,也就是该矩阵特特征多项式征多项式的系数的系数【例【例4-2】求矩阵】求矩阵1 2 3;4 5 6;7 8 0的特征多项的特征多项式系数,并转换为多项式形式。式系数,并转换为多项式形式。a=1 2 3;4 5 6;7 8 0;p=poly(a);poly2sym(p)%将矢量将矢量P表示为多项式的手写形式表示为多项式的手写形式d1=roots(p)%由特征多项式求得的特征值由特征多项式求得的特征值d2=eig(a)%由特征值函数求得的特征值由特征
4、值函数求得的特征值43、根矢量创建、根矢量创建 p=poly(A)A为为待待求求多多项项式式的的根根矢矢量量,则则返返回回值值将将是是对对应应多多项项式式的的系系数数行行矢矢量量,该该多多项项式式的的根根为为矢矢量量A。此此时时p=poly(A)与与A=roots(p)互互逆逆。系系统定义统定义P0=1。Ax1 x2 x3 p=1 p1 p2 p35【例【例4-3】根据】根据根矢量根矢量-0.5-0.3+0.4i-0.3-0.4i,创建多项式,创建多项式r=-0.5-0.3+0.4i-0.3-0.4i;p=poly(r)pr=real(p)ppr=poly2sym(pr)二、多项式运算二、多项
5、式运算 1、求多项式的值、求多项式的值MATLAB的多项式求值方式有两种,按数组运算的多项式求值方式有两种,按数组运算规则和按矩阵运算规则计算多项式的值。规则和按矩阵运算规则计算多项式的值。y=polyval(p,x)按按数组规则运算数组规则运算,计算多项式,计算多项式在在x处的值,处的值,p是多项式的系数矢量;是多项式的系数矢量;x是指定自是指定自变量的值,可以是标量、向量或矩阵。如果变量的值,可以是标量、向量或矩阵。如果x是是向量或矩阵,则函数的返回值是与向量或矩阵,则函数的返回值是与x对应的同维对应的同维向量或矩阵。向量或矩阵。6【例【例4-4】求多项式】求多项式3x2+2x+1在在5、
6、7和和9处的值。处的值。p=3 2 1;polyval(p,5 7 9)y=polyvalm(p,x)将矩阵将矩阵整体整体(而不是矩阵元素)(而不是矩阵元素)作为自变量进行计算。作为自变量进行计算。p是多项式的系数向量;是多项式的系数向量;相当于用矩阵相当于用矩阵x代替多项式的变量对矩阵而不代替多项式的变量对矩阵而不是对数组进行计算,是对数组进行计算,x必须是方阵必须是方阵【例【例4-5】求多项式】求多项式3x2+2x+1对于矩阵对于矩阵2 5;7 9的值的值 p=3 2 1;polyvalm(p,2 5;7 9)7物理与电气工程学院2、求多项式的根、求多项式的根格式:格式:C=roots(p
7、)p为多项式的系数矢量,为多项式的系数矢量,C为函数返回多项式的根为函数返回多项式的根矢量矢量如果如果C为复数,则必成对出现。为复数,则必成对出现。【例【例4-6】分别用两种方法求多项式】分别用两种方法求多项式x5-5x4+3x3-6x2+4x-10的根。的根。a=1-5 3-6 4-10;r=roots(a)8物理与电气工程学院3、多项式的乘除运算、多项式的乘除运算多项式的乘法多项式的乘法conv格式:格式:c=conv(a,b)多项式的乘法运算多项式的乘法运算,也是矢量的卷积运算也是矢量的卷积运算向量向量a长度为长度为m,向量,向量b长度为长度为n,a和和b的卷积的卷积定义为:定义为:运算
8、结果矢量运算结果矢量c为长度为长度k=m+n-1【例【例4-7】计算两多项式】计算两多项式x4-5x3+3x2-4x+2和和x3+2x2-5x+3的乘法的乘法a=1-5 3-4 2;b=1 2-5 3;c=conv(a,b)poly2sym(c)9物理与电气工程学院多项式的除法多项式的除法deconv 格式:格式:q,r=deconv(c,a)多项式的除法运算,也是矢量的解卷积运算多项式的除法运算,也是矢量的解卷积运算过程。过程。向量向量a对向量对向量c进行解卷积得到进行解卷积得到“商商”向量向量q和和“余余”向量向量r。q和和r分别是商多项式和余多项式;分别是商多项式和余多项式;c和和a分别
9、分别是被除多项式和除多项式,使得:是被除多项式和除多项式,使得:c=conv(a,q)+r【例【例4-8】计算例】计算例4-7中求得的乘积被中求得的乘积被x3+2x2-5x+3除除所得结果所得结果c=1-3-12 30-36 33-22 6;b=1 2-5 3;q,r=deconv(c,b)104、多项式微积分、多项式微积分polyder(p)返回多项式系数向量返回多项式系数向量p p 的导数的导数【例【例4-9】计算多项式】计算多项式3x4-5x3+2x2-6x+10的微分。的微分。p=3-5 2-6 10;dp=polyder(p)poly2sym(dp)polyint(p)返回多项式系数
10、返回多项式系数p p 的积分的积分【例【例4-10】计算多项式】计算多项式12x3-15x2+4x-6的积分。的积分。p=12-15 4-6;ip=polyint(p)poly2sym(ip)11物理与电气工程学院5、多项式的部分分式展开、多项式的部分分式展开MATLABMATLAB提供了提供了residueresidue命令来执行部分分式命令来执行部分分式展开或多项式系数之间的转换。该命令通展开或多项式系数之间的转换。该命令通常用于信号与控制领域中。格式如下:常用于信号与控制领域中。格式如下:r,p,k=residue(b,a)该命令是求多项式之比该命令是求多项式之比b(s)/a(sb(s)
11、/a(s)的部分分的部分分式展开,返回式展开,返回留数留数r r、极点极点p p和和直项向量直项向量k k。a a和和b b分别是分母和分子多项式的系数向量分别是分母和分子多项式的系数向量b,a=residue(r,p,k)上一条语句的上一条语句的逆过程逆过程,只是分母多项式系,只是分母多项式系数以归一化形式:最高次项系数数以归一化形式:最高次项系数a(1)a(1)为为1 1。12物理与电气工程学院如果分母多项式如果分母多项式a(s)不含重根,则两个多项式不含重根,则两个多项式可写成如下形式:可写成如下形式:其中,其中,pi称为称为极点极点,ri称为称为留数留数,k(s)是是直项直项。如果如果
12、b的次数低于的次数低于a的次数,则直项为空。的次数,则直项为空。如果分母多项式如果分母多项式a(s)含含m重根重根p(j)=p(j+m-1),则则这这m项应展开为项应展开为13 b(x)5x3+3x2-2x+7【例【例3-11】两多项式的比为】两多项式的比为=,a(x)-4x3+8x+3 求部分分式展开。求部分分式展开。a=-4 0 8 3;b=5 3-2 7;r,p,k=residue(b,a)b1,a1=residue(r,p,k)%分母最高次项归分母最高次项归1 1r2,p2,k2=residue(1 1,1-2 1)%出现重根出现重根笔算结果笔算结果=?14物理与电气工程学院6、多项式
13、拟合、多项式拟合对于给定的一组数据对于给定的一组数据(xi,yi),i=1,2,n,如果如果要采用要采用多项式模型多项式模型对数据组进行描述,形成如多对数据组进行描述,形成如多项式项式y(x)=f(x,p)=p1 xn+p2 xn-1+p3 xn-2+pn+1的的形式,求取形式,求取参数参数p使得量值使得量值2(p)的值最小的过程,的值最小的过程,称为对数据组进行称为对数据组进行多项式拟合多项式拟合,其中,其中MATLAB系统设计系统设计polyfit函数采用最小二乘函数采用最小二乘法原理对给定的数组法原理对给定的数组(xi,yi),i=1,2,n进进行多项式的曲线拟合,最后给出拟合的多项行多
14、项式的曲线拟合,最后给出拟合的多项式系数。式系数。15物理与电气工程学院p=polyfit(x,y,n)其中,其中,x,y分别表示横、纵分别表示横、纵坐标向量;坐标向量;n是给定的拟合多项式的是给定的拟合多项式的最高阶数最高阶数,返回一个多项式系数向量返回一个多项式系数向量p。如如n=3,若若p=1 0.5 1 2,则则 y=1*x3+0.5*x2+1*x1+2*x0p,S=polyfit(x,y,n)返回返回n阶多项式系数阶多项式系数p,S为误差估计结构为误差估计结构p,S,mu=polyfit(x,y,n)对归一化以后的对归一化以后的数据进行多项式拟合,用数据进行多项式拟合,用x=(x-u
15、1)/u2替代替代x,其中其中mu=u1 u2,u1=mean(x),u2=std(x)16物理与电气工程学院【例【例3-13】求误差函数的求误差函数的6阶拟合多项式。阶拟合多项式。x=(0:0.1:2.5);%生成生成0至至2.5间隔为间隔为0.1的自变量的自变量y=erf(x);%计算误差函数计算误差函数p=polyfit(x,y,6)%求求6阶拟合多项式阶拟合多项式x=(0:0.1:5);%生成生成0至至5间隔为间隔为0.1的自变量的自变量y1=erf(x);%计算误差函数计算误差函数f=polyval(p,x);%计算拟合函数的值计算拟合函数的值plot(x,y1,o,x,f,-)%绘
16、图函数绘图函数p0,s0,mu0=polyfit(x,y,6)%x=(x-mean(x)/std(x)p1,s1,mu1=polyfit(x-mu(1)/mu(2),y,6)可以看出,拟合区间可以看出,拟合区间0 2.50 2.5内内拟合曲线拟近原拟合曲线拟近原曲线,曲线,而在区间以而在区间以外外的曲线误差较大的曲线误差较大17物理与电气工程学院第第2 2节线性代数节线性代数 给定两个矩阵给定两个矩阵A和和B,求求X的解的解,使得使得:AX=B XA=B在在MATLAB中,求解线性方程组时,主要采中,求解线性方程组时,主要采用前面章节介绍的除法运算符用前面章节介绍的除法运算符“”和和“/”求解
17、:求解:X=AB 是是AX=B 的解的解X=B/A 是是XA=B 的解的解 对于方程对于方程AX=B,要求矩阵,要求矩阵A和和B有相同的行数;有相同的行数;X和和B有相同的列数,且它们的行数等于有相同的列数,且它们的行数等于A的列数。的列数。18物理与电气工程学院 根据矩阵根据矩阵A的结构的结构(m,n),可以将方),可以将方程分为以下程分为以下3类:类:m=n 方阵系统,可偿试求精确解方阵系统,可偿试求精确解mn 超定系统,可偿试求最小二乘解超定系统,可偿试求最小二乘解mn,则方程没有精确解则方程没有精确解,此时方程组为超定此时方程组为超定方程组。一般采用最小二乘法。方程组。一般采用最小二乘
18、法。左除法:左除法:x=Ab 建立在奇异值分解基建立在奇异值分解基础之上础之上广义逆法:广义逆法:x=pinv(A)*b 速度较快,速度较快,可靠性较差一些可靠性较差一些实验中数据的曲线拟合就是就可以解超定方程组实验中数据的曲线拟合就是就可以解超定方程组的方法来解。一般情况下需要将的方法来解。一般情况下需要将非线性问题非线性问题转换转换为为线性问题线性问题来解决来解决22物理与电气工程学院一组实验数据,时间一组实验数据,时间t和测量数据和测量数据y,如下表所示,如下表所示:itexp(-ti)yi10.010.8220.30.7400.7230.80.4490.6341.10.3320.605
19、1.60.2020.5562.20.1110.5认为认为x和和y有有上式上式的关系式,的关系式,则由则由6组实验数据就可形成组实验数据就可形成超定方程组,就可求解出超定方程组,就可求解出C1和和C2。使得将。使得将t代入函数代入函数得到的值与实际得到的值与实际y值之间值之间差差值值的的最小平方和最小平方和最小最小如何以矩阵的如何以矩阵的形式表示?形式表示?23物理与电气工程学院【例【例4-16】求表中数据的最小二乘解。】求表中数据的最小二乘解。t=0 0.3 0.8 1.1 1.6 2.3;y=0.82 0.72 0.63 0.60 0.55 0.50;e=ones(size(t)exp(-t
20、)%6组实验数据变换得到的组实验数据变换得到的c=eycp=pinv(e)*yt1=0:0.1:2.5;y1=ones(size(t1),exp(-t1)*c;yp=ones(size(t1),exp(-t1)*cp;plot(t,y,t1,y1,ro,t1,yp,b*)24物理与电气工程学院三三、欠定系统、欠定系统程组程组Ax=b,A为为mn矩阵矩阵,如果如果mn,即未即未知数的个数多于方程的个数,理论上有无穷个知数的个数多于方程的个数,理论上有无穷个解,解,MATLAB寻求一个寻求一个基本特解基本特解左除法:左除法:x=Ab最少元素解最少元素解广义逆法:广义逆法:x=pinv(A)*b 最
21、小范数解最小范数解【例【例3-17】求解欠定系统。】求解欠定系统。a=fix(15*rand(2,3);b=fix(15*rand(2,1)p=ab25物理与电气工程学院【例例4-18】使用两种方法求解欠定系统。使用两种方法求解欠定系统。a=1 1 1;1 1-1;b=1 0 6;p=abnorm(p)a*p-bq=pinv(a)*bnorm(q)a*q-b26物理与电气工程学院第3节数据分析MATLAB对数据分析函数有两条约定:对数据分析函数有两条约定:输入参数输入参数:向量,则不论是行向量还是列向量,向量,则不论是行向量还是列向量,运算都是对运算都是对向量整体向量整体进行的进行的输入参数输
22、入参数:矩阵,则运算是按矩阵,则运算是按列列 进行的进行的一、基本统计命令一、基本统计命令mean(x)均值或期望均值或期望median(x)中位数,排序后中间的那个数中位数,排序后中间的那个数(或中间或中间两个数的均值两个数的均值)var(x)方差方差std(x)标准差标准差27sum(x)求和求和max(x)最大值最大值min(x)最小值最小值sum(x)求和求和prod(x)求积求积sx=cumsum(x)逐元素累和逐元素累和,sx结构同结构同xpx=cumprod(x)逐元素累积逐元素累积,px结构同结构同xxs,xn=sort(x)升序排序,升序排序,xs为为重新排重新排序序后数据,
23、后数据,xn为为xs各元素在各元素在x中的中的原始位置原始位置y=sortrows(x,n)矩阵矩阵x以第以第n列为基准,按列为基准,按递递增增顺序排列顺序排列28物理与电气工程学院【例【例4-19】基本统计函数的应用。】基本统计函数的应用。A=fix(10*randn(4,4);Amed=median(A);Amean=mean(A)Avar=var(A);Astd=std(A)%等同于等同于std(A,0);Astd1=std(A,1)%std(A)2是对是对A方差的最佳无偏估计方差的最佳无偏估计Amax=max(A);Amin=min(A)Asum=sum(A);Aprod=prod(A
24、)Acumsum=cumsum(A)Acumprod=cumprod(A)As,An=sort(A)29物理与电气工程学院有关有关正态分布正态分布的几个常用函数的几个常用函数fp=normpdf(x,mu,sigma)正正态态分分布布密密度度函函数数在在x处的值处的值,mu=mean(X),sigma=std(X)P=normcdf(x0,mu,sigma)正正态态分分布布随随机机变变量量小于等于小于等于x0的的累积累积概率值概率值x0=norminv(P,mu,sigma)正正态态分分布布逆逆累累积积函函数数,p=PXx0。与与normcdf是互逆的是互逆的probability densi
25、ty 概率密度概率密度cumulative distribution累计分布累计分布inverse 相反的相反的30物理与电气工程学院附加:附加:norm_1x=-30:0.1:30;ynorm=normpdf(x,0,1)%标准正态分布标准正态分布ynorm1=normpdf(x,3,2)%中心点由期望值确定,方差越大分布越分散中心点由期望值确定,方差越大分布越分散plot(x,ynorm,x,ynorm1)31物理与电气工程学院附加例附加例norm_3:设设X(3,22),求,求PX3,P2Xc=0.612c=norminv(0.612,3,2)p=normcdf(c,3,2)%用于验证用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数值 运算 基础
限制150内