欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    MATLAB教程-第六章.ppt

    • 资源ID:5439117       资源大小:1.03MB        全文页数:131页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB教程-第六章.ppt

    第六章 数值计算,MATLAB提供大量具有强大数值计算功能的函数。本章着重介绍关于数值计算的函数。,目录,6.1 多项式运算6.2 插 值 运 算6.3 数 据 分 析6.4 功 能 函 数 6.5 微分方程组数值解 习 题,6.1 多项式运算,1多项式表示法 2多项式求值 3多项式乘法和除法 4多项式的微积分,5多项式的根和由根创建多 6多项式部分分式展开 7多项式曲线拟合 8多曲线拟合图形用户接口,MATLAB提供了关于多项式的函数:多项式的值;多项式的根和微分;多项式拟合曲线;部分分式。,多项式函数,1多项式表示法,MATLAB采用行向量表示多项式系数,多项式系数按降幂排列。函数poly2str()将多项式系数向量转换为完整形式。,2多项式求值,函数polyval()计算多项式的值,其具体使用方法如下:y=polyval(p,x),p为多项式系数行向量,x代入多项式的值;Y=polyvalm(p,X),把矩阵X代入多项式p中进行计算。,3多项式乘法和除法,函数conv()和deconv()进行多项式乘法和除法,其具体使用方法如下:w=conv(u,v),实现多项式乘法,返回结果多项式的系数行向量;q,r=deconv(u,v),实现多项式除法。,4多项式的微积分,(1)多项式的微分 函数polyder()计算多项式的微分,其具体使用方法如下:k=polyder(p),返回多项式p微分的系数向量;k=polyder(a,b),返回多项式a b乘积微分的系数向量;,q,d=polyder(b,a),返回多项式b/a微分的系数向量。,(2)多项式的积分,函数polyint()计算多项式的不定积分,其具体使用方法如下:s=polyint(p,k),返回多项式p不定积分的系数向量。,5多项式的根和由根创建多项式,(1)多项式的根 函数roots()求多项式的根,其具体使用方法如下:r=roots(c),返回多项式c的所有根r。,(2)由根创建多项式 函数poly()实现由根创建多项式,其具体使用方法如下:p=poly(r),输入r是多项式所有根,返回值为多项式的系数向量;p=poly(A),输入A是方阵,返回值为A的特征多项式的系数向量。,6多项式部分分式展开,函数residue()将多项式之比按部分分式展开,其具体使用方法如下:r,p,k=residue(b,a),求多项式b/a的部分分式展开;b,a=residue(r,p,k),从部分分式得到多项式向量。,7多项式曲线拟合,函数polyfit()采用最小二乘法对给定数据进行多项式拟合,其具体使用方法如下:p=polyfit(x,y,n),采用n次多项式p来拟合数据x和y。,运行结果如下图所示。,8多曲线拟合图形用户接口,曲线拟合的图形用户接口可通过图形窗口的【Tools】菜单中【Basic Fitting】选项启动。,运行结果如下图所示。,6.2 插 值 运 算,6.2.1 一维插值6.2.2 二维插值,插值是根据已知输入/输出数据集和当前输入估计输出值。MATLAB提供大量的插值函数,如下表所示。,插值函数,6.2.1 一维插值,一维插值就是对函数y=f(x)进行插值,一维插值的原理如下图所示。,函数interp1()实现一维插值,其具体使用方法如下:yi=interp1(x,y,xi),x,y是已知数据集且具有相同长度的向量;yi=interp1(y,xi),默认x为1:n,其中n为向量y的长度;yi=interp1(x,y,xi,method),method用于指定插值的方法。,运行结果如下图所示。,6.2.2 二维插值,二维插值是对两变量的函数z=f(x,y)进行插值,二维插值的原理如下图所示:,函数interp2()实现二维插值,其具体使用方法如下:zi=interp2(x,y,z,xi,yi),x,y,z为原始数据,返回值zi是插值结果;zi=interp2(z,xi,yi),若z=nm,则x=1:n,y=1:m;zi=interp2(x,y,z,xi,yi,method),method用于指定插值的方法。,运行结果如下图所示。,6.3 数 据 分 析,6.3.1 基本数据分析函数 6.3.2 协方差和相关系数矩阵 6.3.3 有限差分和梯度 6.3.4 信号滤波和卷积 6.3.5 傅立叶变换,MATLAB提供大量数据分析的函数,首先给出如下约定:一维数据分析时,数据可以用行向量或者列向量来表示;二维数据分析时,数据可以用多个向量或者二维矩阵来表示。,6.3.1 基本数据分析函数,1最大值、最小值、平均值、中间值、元素求和 2标准差和方差 3元素排序,基本数据分析函数,续表,1最大值、最小值、平均值、中间值、元素求和,运行结果如下,并如下图所示。,2标准差和方差,3元素排序,MATLAB提供对实数、复数和字符串的排序函数。函数sort()实现数值的排序;函数sortrows()实现对行的排序。,6.3.2 协方差和相关系数矩阵,函数cov()计算随机变量的协方差矩阵,其具体使用方法如下:C=cov(X),计算X代表的随机变量的协方差矩阵;C=cov(x,y),x和y必须是具有相同长度的向量;,C=cov(X,1),计算X代表的随机变量的协方差矩阵;C=cov(x,y,1),x和y必须是具有相同长度的向量。,函数corrcoef()计算随机变量的相关系数矩阵,其具体使用方法如下:R=corrcoef(X),返回X代表的随机变量的相关系数矩阵;R=corrcoef(x,y),x和y必须是具有相同长度的向量。,6.3.3 有限差分和梯度,函数diff()计算差分,其具体使用方法如下:Y=diff(X),X可以是向量或矩阵;Y=diff(X,n),返回n阶差分;Y=diff(X,n,dim),返回在dim维上的n阶差分。,运行结果如下图所示。,函数gradient()计算梯度,其具体使用方法如下:FX=gradient(F),返回F在x方向上的梯度;FX,FY=gradient(F),FX是F在x方向的近似偏导数,FY是F在y方向的近似偏导数;Fx,Fy,Fz,.=gradient(F),返回N个方向的近似偏导数;,.=gradient(F,h),h用于指定所有方向上自变量的间距;.=gradient(F,h1,h2,.),用多个标量来指定各个方向上自变量的间距。,运行结果如下图所示。,6.3.4 信号滤波和卷积,1一维数字滤波 2信号卷积 3去除信号直流或线性成分,MATLAB提供如下表所示的信号滤波和卷积的函数。,信号滤波和卷积函数,1一维数字滤波,函数filter()实现一维数字滤波,该函数的具体使用方法如下:y=filter(b,a,X),X为用于滤波的数据,Y为数据X通过滤波器之后的值;y,zf=filter(b,a,X),附加返回一个表示数据延迟时间的量zf;,y,zf=filter(b,a,X,zi),zi为初始数据延迟,zf等于最终数据延迟;y=filter(b,a,X,zi,dim),在dim维上进行数据滤波。,2信号卷积,函数conv()计算卷积。,运行结果如下图所示。,3去除信号直流或线性成分,detrend()函数实现去除信号中的直流或者线性成分,其具体使用方法如下:y=detrend(x),如果x是一个向量,从信号x中减去线性成分;如果x是一个矩阵,去除x所有列中的线性成分;,y=detrend(x,constant),如果x是一个向量,减去信号中的直流成分;如果x是一个矩阵,去除所有列中的直流成分;y=detrend(x,linear,bp),从信号x中减去分段线性函数。,6.3.5 傅立叶变换,1一维傅立叶变换和逆变换2二维傅立叶变换和逆变换,傅立叶变换既可以对连续信号进行变换,也可以对离散信号进行变换。本小节只介绍离散傅立叶变换。,傅立叶变换函数,1一维傅立叶变换和逆变换,函数fft()实现一维离散傅立叶变换,其具体使用方法如下:Y=fft(X),如果X是向量,返回向量X的傅立叶变换;如果X是矩阵,函数对矩阵X的每一列进行傅立叶变换;,Y=fft(X,n),用输入n指定傅立叶变换的长度;Y=fft(X,dim),在dim维上进行傅立叶变换;Y=fft(X,n,dim),在dim维上进行傅立叶变换,并指定傅立叶变换的长度。,函数ifft()实现一维离散傅立叶逆变换,其具体使用方法与函数fft()类似,只是添加一个选项。y=ifft(.,symmetric);y=ifft(.,nonsymmetric)。,2二维傅立叶变换和逆变换,函数fft2()实现二维傅立叶变换,用函数ifft2来实现二维傅立叶逆变换。函数fft2()的具体使用方法如下:Y=fft2(X),X是矩阵,对矩阵X进行二维傅立叶变换;Y=fft2(X,m,n),m和n指定傅立叶变换的长度。,6.4 功 能 函 数,1函数的表示 2函数画图 3函数最小值和零点 4数值积分 5在功能函数中使用含参函数,函数可以通过以下方式来表示:M文件;匿名函数;函数inline()。,1函数的表示,2函数画图,MATLAB提供函数画图的函数如下表所示。,函数画图的函数,以函数fplot()为例介绍画图函数的用法,其具体使用方法如下:fplot(function,limits),function为待画图的函数,limits是横坐标数值范围或横纵坐标数值范围;,fplot(function,limits,LineSpec),LineSpec指定画图的线条属性;fplot(function,limits,tol),tol指定画图相对精度;fplot(function,limits,tol,LineSpec),指定画图的线条属性和画图相对精度。,运行结果如下图所示。,3函数最小值和零点,求函数的最小值和零点的函数,如下表所示。,求函数最小值和零点,(1)求一元函数最小值,函数fminbnd()求一元函数在给定区间内的最小值,其具体使用方法如下:x=fminbnd(fun,x1,x2),在区间x1 x2内寻找函数最小值;,x=fminbnd(fun,x1,x2,options),使用options选项来指定的优化器的参数;x,fval=fminbnd(.),附加返回函数最小值。,(2)求多元函数的最小值,函数fminsearch()求多元函数的最小值。其具体使用方法如下:x=fminsearch(fun,x0),在初始x0附近寻找局部最小值;x=fminsearch(fun,x0,options),使用options选项来指定优化器的参数;,x,fval=fminsearch(.),附加返回函数最小值。,(3)求一元函数的零点,函数fzero()求一元函数的零点,其具体使用方法如下:x=fzero(fun,x0),在x0点附近寻找函数的零点;x=fzero(fun,x0,x1),在x0,x1区间内寻找函数的零点;,x=fzero(fun,x0,options),用options指定寻找零点的优化器参数;x,fval=fzero(.),附加自变量为x时的函数值。,(4)优化器参数,函数optimset()设定优化器参数,其具体使用方法如下:options=optimset(param1,value1,param2,value2,.),用参数名和对应的参数值设定优化器的参数;,optimset,显示优化器的所有参数名和有效的参数值;options=optimset,返回一个优化器的结构体;options=optimset(optimfun),返回函数optimfun()对应的优化器参数;,options=optimset(oldopts,param1,value1,.),在原优化器参数oldopts的基础上,改动指定优化器参数;options=optimset(oldopts,newopts),用newopts的所有非空参数覆盖oldopts中的值。,在函数optimset()中常用的优化器参数如下表所示。,优化器参数,函数optimget()得到目前优化器的参数,其具体使用方法如下:val=optimget(options,param),返回优化器参数param的值;val=optimget(options,param,default),返回优化器参数param的值。,4数值积分,MATLAB提供一些的数值积分函数,如下表所示。,数值积分函数,(1)一元函数的数值积分,函数quad()和函数quadl()来计算一元函数的积分。函数quad()的具体使用方法如下:q=quad(fun,a,b),计算函数fun在a b区间内的定积分;,q=quad(fun,a,b,tol),以绝对误差容限tol计算函数fun在a b区间内的定积分;q=quad(fun,a,b,tol,trace),当trace为非零值时,显示迭代过程的中间值。,(2)矢量数值积分,矢量数值积分等价于多个一元定积分。,(3)二重和三重积分,函数dblquad()计算二重积分。其具体使用方法如下:q=dblquad(fun,xmin,xmax,ymin,ymax),计算二元函数的二重积分;q=dblquad(fun,xmin,xmax,ymin,ymax,tol),用tol指定绝对计算精度;,q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method),用method指定计算一维积分时采用的函数。,5在功能函数中使用含参函数,功能函数中的含参函数的两种解决方法:嵌套函数匿名函数,编写M文件的函数时:首先将含参函数的参数作为输入;其次在其中调用功能函数,形成嵌套;最后通过调用该函数进行计算。,(1)用嵌套函数提供函数参数,运行结果如下图所示。,(2)用匿名函数提供函数参数,用匿名函数提供函数参数的具体步骤如下:创建一个含参函数,并保存为M文件格式;调用功能函数的M文件中给参数赋值;用含参函数创建匿名函数;把匿名函数句柄传递给功能函数计算。,6.5 微分方程组数值解,6.5.1 常微分方程组的初值问题 6.5.2 延迟微分方程的问题 6.5.3 常微分方程组的边界问题,在MATLAB中,可以计算微分方程数值解,如:常微分方程组的初值问题;延迟微分方程的问题;常微分方程组的边界问题。,6.5.1 常微分方程组的初值问题,1显式常微分方程组 2设置解法器参数 3线性隐式常微分方程组 4完全隐式常微分方程组,在MATLAB中可以计算以下初值问题的数值解。显式常微分方程组;线性隐式常微分方程组;完全隐式常微分方程组。,1显式常微分方程组,在MATLAB中,用函数实现不同的解法,如下表所示。,常微分方程组解法对比,2设置解法器参数,函数odeset()设定解法器参数,其具体使用方法如下:options=odeset(name1,value1,name2,value2,),用参数名和相应参数值设定解法器的参数;,options=odeset(oldopts,name1,value1,),修改原来的解法器options结构体oldopts;options=odeset(oldopts,newopts),合并两个解法器options结构体oldopts和newopts;odeset,显示所有的参数值和它们的默认值。,常微分方程组解法器参数,3线性隐式常微分方程组,线性隐式常微分方程组可以利用解法器参数options来求解。,运行结果如下图所示。,4完全隐式常微分方程组,函数ode15i()求解完全隐式常微分方程组,其具体使用方法如下:t,Y=ode15i(odefun,tspan,y0,yp0);t,Y=ode15i(odefun,tspan,y0,yp0,options)。,函数decic()得到自洽初始值,其具体使用方法如下:y0mod,yp0mod=decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0);y0mod,yp0mod=decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0,options)。,运行结果如下图所示。,6.5.2 延迟微分方程的问题,函数dde23()求解延迟微分方程组,其具体使用方法如下:sol=dde23(ddefun,lags,history,tspan);sol=dde23(ddefun,lags,history,tspan,option),option结构体用于设置解法器的参数。,函数dde23()的返回值是一个结构体,它包含7个属性,其中重要的5个属性如下:sol.x,dde23选择计算的时间点;sol.y,在时间点x上的解y(x);sol.yp,在时间点x上解的一阶导数y(x);,sol.history,方程初始值;sol.solver,解法器的名字dde23;若需得到tint时刻的解,可以使用函数deval,即yint=deval(sol,tint)。,6.5.3 常微分方程组的边界问题,函数bvp4c()的具体使用方法如下:sol=bvp4c(odefun,bcfun,solinit),odefun代表常微分方程组的函数,bcfun是描述边界条件的函数,solinit是对方程解的猜测解;sol=bvp4c(odefun,bcfun,solinit,options),使用options结构体来设定解法器的参数。,运行结果如下图所示。,习 题,

    注意事项

    本文(MATLAB教程-第六章.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开