欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第六章数值计算精选文档.ppt

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

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

    第六章数值计算精选文档.ppt

    第六章数值计算第六章数值计算本讲稿第一页,共一百二十三页6.1 多项式运算 1多项式表示法 2多项式求值 3多项式乘法和除 4多项式的微积分 5多项式的根 6多项式部分分式展开 7多项式曲线拟合 8多曲线拟合图形用户接口 本讲稿第二页,共一百二十三页 MATLAB提供了关于多项式的函数:多项式的值;多项式的根和微分;多项式拟合曲线;部分分式。本讲稿第三页,共一百二十三页多项式函数本讲稿第四页,共一百二十三页1多项式表示法 MATLAB采用行向量表示多项式系数,多项式系数按降幂排列。函 数 poly2str(p,v)或 poly2sym(p)将多项式系数向量转换为完整形式。本讲稿第五页,共一百二十三页多项式的创建首先,了解多项式在matlab中,都是用多项式的系数矢量来表示,也就是行向量。对于多项式 P(X)=a0 xn+a1xn-1+an-1x+an用p=a0 a1 an-1 an来表示因此,创建多项式,可简单总结为以下三个方法本讲稿第六页,共一百二十三页系数矢量的直接输入法即已知具体的多项式形式,在命令窗口直接输入多项式的系数矢量。注意幂次缺项的处理。特征多项式输入法借助于函数poly,取得矩阵的特征多项式系数,作为新的多项式系数矢量。由根矢量创建多项式同样借助于函数poly,由根矢量得到多项式系数注意:如果希望创建实系数多项式,根矢量里如果有复数根必须共轭成对;若得到的系数中带有很小的虚部,可用取实部命令real把虚部滤掉。本讲稿第七页,共一百二十三页A:表示多项式系数向量;表示多项式系数向量;x:表示变量用:表示变量用x表示。表示。提供系数向量,用函数提供系数向量,用函数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),实现多项式除法,q是商,r是余数。本讲稿第十一页,共一百二十三页4多项式的微积分(1)多项式的微分 函数polyder()计算多项式的微分,其具体使用方法如下:k=polyder(p),返回多项式p微分的系数向量;k=polyder(a,b),返回多项式a b乘积微分的系数向量;本讲稿第十二页,共一百二十三页 q,d=polyder(b,a),返回多项式b/a微分的系数向量。q,d是系数向量本讲稿第十三页,共一百二十三页什么意思!本讲稿第十四页,共一百二十三页(2)多项式的积分 函数polyint()计算多项式的不定积分,其具体使用方法如下:s=polyint(p,k),返回多项式p不定积分的系数向量,k为积分常数项,缺省为0。也可以简化使用polyint(p)本讲稿第十五页,共一百二十三页5多项式的根 函数roots()求多项式的根,其具体使用方法如下:r=roots(c),返回多项式c的所有根r。本讲稿第十六页,共一百二十三页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。本讲稿第十八页,共一百二十三页legend();是用于生产图例。生成的图例可以移动位置本讲稿第十九页,共一百二十三页运行结果如下图所示。生成的图例可以移动位置生成的图例可以移动位置调整位置!调整位置!本讲稿第二十页,共一百二十三页6.2 插 值 运 算 6.2.1 一维插值6.2.2 二维插值本讲稿第二十一页,共一百二十三页 插值是根据已知输入/输出数据集和当前输入估计输出值。MATLAB提供大量的插值函数,如下表所示。插值函数本讲稿第二十二页,共一百二十三页6.2.1 一维插值 一维插值就是对函数y=f(x)进行插值,一维插值的原理如下图所示。本讲稿第二十三页,共一百二十三页 函数interp1()实现一维插值,其具体使用方法如下:yi=interp1(x,y,xi,method),method用于指定插值的方法,包括:邻近点插值(nearest):返回已知数据集中与当前输入最邻近点对应的输出;线性插值(linear):返回当前输入在与它相邻两点直线上的取值,是默认方法;三次样条插值(spline):返回当前输入在采用三次样条函数上的取值。比较本讲稿第二十四页,共一百二十三页本讲稿第二十五页,共一百二十三页运行结果如下图所示。本讲稿第二十六页,共一百二十三页6.2.2 二维插值 二维插值是对两变量的函数z=f(x,y)进行插值,二维插值的原理如下图所示:本讲稿第二十七页,共一百二十三页 函数interp2()实现二维插值,其具体使用方法如下:zi=interp2(x,y,z,xi,yi,method),method用于指定插值的方法。包括:邻近点插值(nearest):返回已知数据集中与当前输入最邻近点对应的输出;双线性插值(linear):返回与当前输入相邻四点输出的双线性加权,是默认方法;三次样条插值(spline):返回当前输入在采用三次样条函数上的取值。本讲稿第二十八页,共一百二十三页xi yi=meshgrid(-3:0.25:3);zi=peaks(xi,yi);本讲稿第二十九页,共一百二十三页运行结果如下图所示。本讲稿第三十页,共一百二十三页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标准差和方差本讲稿第三十九页,共一百二十三页改为改为r5=r22本讲稿第四十页,共一百二十三页本讲稿第四十一页,共一百二十三页本讲稿第四十二页,共一百二十三页3元素排序 MATLAB提供对实数、复数和字符串的排序函数。函数sort()实现数值的排序;函数sortrows()实现对行的排序。本讲稿第四十三页,共一百二十三页本讲稿第四十四页,共一百二十三页6.3.2 协方差和相关系数矩阵本讲稿第四十五页,共一百二十三页 函数cov()计算随机变量的协方差矩阵,其具体使用方法如下:C=cov(X),计算X代表的随机变量的协方差矩阵;C=cov(x,y),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在功能函数中使用含参函数本讲稿第六十八页,共一百二十三页 在matlab中,函数可以通过以下方式来表示: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),指定画图的线条属性和画图相对精度。本讲稿第七十三页,共一百二十三页画网格的作用画网格的作用是是1 不是不是L本讲稿第七十四页,共一百二十三页运行结果如下图所示。本讲稿第七十五页,共一百二十三页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 微分方程组数值解 在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结构体来设定解法器的参数。本讲稿第一百二十页,共一百二十三页本讲稿第一百二十一页,共一百二十三页本讲稿第一百二十二页,共一百二十三页运行结果如下图所示。本讲稿第一百二十三页,共一百二十三页

    注意事项

    本文(第六章数值计算精选文档.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开