版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章数值计算第一页,共一百二十三页,编辑于2023年,星期五6.1多项式运算1.多项式表示法2.多项式求值3.多项式乘法和除4.多项式的微积分5.多项式的根6.多项式部分分式展开7.多项式曲线拟合8.多曲线拟合图形用户接口
第二页,共一百二十三页,编辑于2023年,星期五MATLAB提供了关于多项式的函数:多项式的值;多项式的根和微分;多项式拟合曲线;部分分式。第三页,共一百二十三页,编辑于2023年,星期五多项式函数第四页,共一百二十三页,编辑于2023年,星期五1.多项式表示法
MATLAB采用行向量表示多项式系数,多项式系数按降幂排列。函数poly2str(p,’v’)或poly2sym(p)将多项式系数向量转换为完整形式。第五页,共一百二十三页,编辑于2023年,星期五多项式的创建首先,了解多项式在matlab中,都是用多项式的系数矢量来表示,也就是行向量。对于多项式P(X)=a0xn+a1xn-1+…+an-1x+an用p=[a0a1
…an-1an]来表示因此,创建多项式,可简单总结为以下三个方法第六页,共一百二十三页,编辑于2023年,星期五系数矢量的直接输入法即已知具体的多项式形式,在命令窗口直接输入多项式的系数矢量。注意幂次缺项的处理。特征多项式输入法借助于函数poly,取得矩阵的特征多项式系数,作为新的多项式系数矢量。由根矢量创建多项式同样借助于函数poly,由根矢量得到多项式系数注意:如果希望创建实系数多项式,根矢量里如果有复数根必须共轭成对;若得到的系数中带有很小的虚部,可用取实部命令real把虚部滤掉。第七页,共一百二十三页,编辑于2023年,星期五A:表示多项式系数向量;‘x’:表示变量用x表示。提供系数向量,用函数poly2str()得出完整式。第八页,共一百二十三页,编辑于2023年,星期五2.多项式求值函数polyval()计算多项式的值,其具体使用方法如下:y=polyval(p,x),p为多项式系数行向量,x代入多项式的值,是按数组规则计算;Y=polyvalm(p,X),把矩阵X代入多项式p中进行计算,是按矩阵规则运算。第九页,共一百二十三页,编辑于2023年,星期五第十页,共一百二十三页,编辑于2023年,星期五3.多项式乘法和除法函数conv()和deconv()进行多项式乘法和除法,其具体使用方法如下:w=conv(u,v),实现多项式乘法,返回结果多项式的系数行向量;[q,r]=deconv(u,v),实现多项式除法,q是商,r是余数。第十一页,共一百二十三页,编辑于2023年,星期五4.多项式的微积分(1)多项式的微分函数polyder()计算多项式的微分,其具体使用方法如下:k=polyder(p),返回多项式p微分的系数向量;k=polyder(a,b),返回多项式ab乘积微分的系数向量;第十二页,共一百二十三页,编辑于2023年,星期五
[q,d]=polyder(b,a),返回多项式b/a微分的系数向量。q,d是系数向量第十三页,共一百二十三页,编辑于2023年,星期五什么意思!!第十四页,共一百二十三页,编辑于2023年,星期五(2)多项式的积分
函数polyint()计算多项式的不定积分,其具体使用方法如下:s=polyint(p,k),返回多项式p不定积分的系数向量,k为积分常数项,缺省为0。也可以简化使用polyint(p)第十五页,共一百二十三页,编辑于2023年,星期五5.多项式的根
函数roots()求多项式的根,其具体使用方法如下:r=roots(c),返回多项式c的所有根r。第十六页,共一百二十三页,编辑于2023年,星期五6.多项式部分分式展开
函数residue()将多项式之比按部分分式展开,其具体使用方法如下:[r,p,k]=residue(b,a),求多项式b/a的部分分式展开;[b,a]=residue(r,p,k),从部分分式得到多项式向量。第十七页,共一百二十三页,编辑于2023年,星期五7.多项式曲线拟合函数polyfit()采用最小二乘法对给定数据进行多项式拟合,其具体使用方法如下:p=polyfit(x,y,n),采用n次多项式p来拟合数据x和y。第十八页,共一百二十三页,编辑于2023年,星期五legend(‘’);是用于生产图例。生成的图例可以移动位置第十九页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。生成的图例可以移动位置调整位置!!第二十页,共一百二十三页,编辑于2023年,星期五6.2插值运算
6.2.1一维插值6.2.2二维插值第二十一页,共一百二十三页,编辑于2023年,星期五插值是根据已知输入/输出数据集和当前输入估计输出值。MATLAB提供大量的插值函数,如下表所示。插值函数第二十二页,共一百二十三页,编辑于2023年,星期五6.2.1一维插值一维插值就是对函数y=f(x)进行插值,一维插值的原理如下图所示。第二十三页,共一百二十三页,编辑于2023年,星期五函数interp1()实现一维插值,其具体使用方法如下:yi=interp1(x,y,xi,method),method用于指定插值的方法,包括:邻近点插值(’nearest’):返回已知数据集中与当前输入最邻近点对应的输出;线性插值(’linear’):返回当前输入在与它相邻两点直线上的取值,是默认方法;三次样条插值(’spline’):返回当前输入在采用三次样条函数上的取值。比较第二十四页,共一百二十三页,编辑于2023年,星期五第二十五页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第二十六页,共一百二十三页,编辑于2023年,星期五6.2.2二维插值二维插值是对两变量的函数z=f(x,y)进行插值,二维插值的原理如下图所示:第二十七页,共一百二十三页,编辑于2023年,星期五
函数interp2()实现二维插值,其具体使用方法如下:zi=interp2(x,y,z,xi,yi,method),method用于指定插值的方法。包括:邻近点插值(’nearest’):返回已知数据集中与当前输入最邻近点对应的输出;双线性插值(’linear’):返回与当前输入相邻四点输出的双线性加权,是默认方法;三次样条插值(’spline’):返回当前输入在采用三次样条函数上的取值。
第二十八页,共一百二十三页,编辑于2023年,星期五[xiyi]=meshgrid(-3:0.25:3);zi=peaks(xi,yi);第二十九页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第三十页,共一百二十三页,编辑于2023年,星期五6.3数据分析6.3.1基本数据分析函数6.3.2协方差和相关系数矩阵6.3.3有限差分和梯度6.3.4信号滤波和卷积6.3.5傅立叶变换第三十一页,共一百二十三页,编辑于2023年,星期五MATLAB提供大量数据分析的函数,首先给出如下约定:一维数据分析时,数据可以用行向量或者列向量来表示,运算是对整个矢量进行的;二维数据分析时,数据可以用多个向量或者二维矩阵来表示,函数运算按列进行。第三十二页,共一百二十三页,编辑于2023年,星期五6.3.1基本数据分析函数
1.最大值、最小值、平均值、中间值、元素求和2.标准差和方差3.元素排序第三十三页,共一百二十三页,编辑于2023年,星期五基本数据分析函数
第三十四页,共一百二十三页,编辑于2023年,星期五第三十五页,共一百二十三页,编辑于2023年,星期五续表第三十六页,共一百二十三页,编辑于2023年,星期五1.最大值、最小值、平均值、中间值、元素求和第三十七页,共一百二十三页,编辑于2023年,星期五运行结果如下,并如下图所示。运行结果不一样!!第三十八页,共一百二十三页,编辑于2023年,星期五2.标准差和方差第三十九页,共一百二十三页,编辑于2023年,星期五改为r5=r2^2第四十页,共一百二十三页,编辑于2023年,星期五第四十一页,共一百二十三页,编辑于2023年,星期五第四十二页,共一百二十三页,编辑于2023年,星期五3.元素排序MATLAB提供对实数、复数和字符串的排序函数。函数sort()实现数值的排序;函数sortrows()实现对行的排序。第四十三页,共一百二十三页,编辑于2023年,星期五第四十四页,共一百二十三页,编辑于2023年,星期五6.3.2协方差和相关系数矩阵第四十五页,共一百二十三页,编辑于2023年,星期五
函数cov()计算随机变量的协方差矩阵,其具体使用方法如下:C=cov(X),计算X代表的随机变量的协方差矩阵;C=cov(x,y),x和y必须是具有相同长度的向量;第四十六页,共一百二十三页,编辑于2023年,星期五函数corrcoef()计算随机变量的相关系数矩阵,其具体使用方法如下:R=corrcoef(X),返回X代表的随机变量的相关系数矩阵;R=corrcoef(x,y),x和y必须是具有相同长度的向量。第四十七页,共一百二十三页,编辑于2023年,星期五6.3.3有限差分和梯度函数diff()计算差分,其具体使用方法如下:Y=diff(X),X可以是向量或矩阵;Y=diff(X,n),返回n阶差分;Y=diff(X,n,dim),返回在dim维上的n阶差分。第四十八页,共一百二十三页,编辑于2023年,星期五第四十九页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第五十页,共一百二十三页,编辑于2023年,星期五函数gradient()计算梯度,其具体使用方法如下:FX=gradient(F),返回F在x方向上的梯度;[FX,FY]=gradient(F),FX是F在x方向的近似偏导数,FY是F在y方向的近似偏导数;[Fx,Fy,Fz,...]=gradient(F),返回N个方向的近似偏导数;第五十一页,共一百二十三页,编辑于2023年,星期五[...]=gradient(F,h),h用于指定所有方向上自变量的间距;[...]=gradient(F,h1,h2,...),用多个标量来指定各个方向上自变量的间距。第五十二页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第五十三页,共一百二十三页,编辑于2023年,星期五6.3.4信号滤波和卷积1.一维数字滤波2.信号卷积3.去除信号直流或线性成分
第五十四页,共一百二十三页,编辑于2023年,星期五MATLAB提供如下表所示的信号滤波和卷积的函数。信号滤波和卷积函数第五十五页,共一百二十三页,编辑于2023年,星期五1.一维数字滤波
函数filter()实现一维数字滤波,该函数的具体使用方法如下:y=filter(b,a,X),X为用于滤波的数据,Y为数据X通过滤波器之后的值;[y,zf]=filter(b,a,X),附加返回一个表示数据延迟时间的量zf;第五十六页,共一百二十三页,编辑于2023年,星期五[y,zf]=filter(b,a,X,zi),zi为初始数据延迟,zf等于最终数据延迟;y=filter(b,a,X,zi,dim),在dim维上进行数据滤波。第五十七页,共一百二十三页,编辑于2023年,星期五2.信号卷积函数conv()计算卷积。第五十八页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第五十九页,共一百二十三页,编辑于2023年,星期五3.去除信号直流或线性成分detrend()函数实现去除信号中的直流或者线性成分,其具体使用方法如下:y=detrend(x),如果x是一个向量,从信号x中减去线性成分;如果x是一个矩阵,去除x所有列中的线性成分;第六十页,共一百二十三页,编辑于2023年,星期五y=detrend(x,‘constant’),如果x是一个向量,减去信号中的直流成分;如果x是一个矩阵,去除所有列中的直流成分;y=detrend(x,'linear',bp),从信号x中减去分段线性函数。第六十一页,共一百二十三页,编辑于2023年,星期五6.3.5傅立叶变换1.一维傅立叶变换和逆变换2.二维傅立叶变换和逆变换
第六十二页,共一百二十三页,编辑于2023年,星期五
傅立叶变换既可以对连续信号进行变换,也可以对离散信号进行变换。本小节只介绍离散傅立叶变换。
傅立叶变换函数
第六十三页,共一百二十三页,编辑于2023年,星期五1.一维傅立叶变换和逆变换函数fft()实现一维离散傅立叶变换,其具体使用方法如下:Y=fft(X),如果X是向量,返回向量X的傅立叶变换;如果X是矩阵,函数对矩阵X的每一列进行傅立叶变换;第六十四页,共一百二十三页,编辑于2023年,星期五Y=fft(X,n),用输入n指定傅立叶变换的长度;Y=fft(X,[],dim),在dim维上进行傅立叶变换;Y=fft(X,n,dim),在dim维上进行傅立叶变换,并指定傅立叶变换的长度。第六十五页,共一百二十三页,编辑于2023年,星期五函数ifft()实现一维离散傅立叶逆变换,其具体使用方法与函数fft()类似,只是添加一个选项。y=ifft(...,'symmetric');y=ifft(...,'nonsymmetric')。第六十六页,共一百二十三页,编辑于2023年,星期五2.二维傅立叶变换和逆变换函数fft2()实现二维傅立叶变换,用函数ifft2来实现二维傅立叶逆变换。函数fft2()的具体使用方法如下:Y=fft2(X),X是矩阵,对矩阵X进行二维傅立叶变换;Y=fft2(X,m,n),m和n指定傅立叶变换的长度。第六十七页,共一百二十三页,编辑于2023年,星期五6.4功能函数
功能函数就是可以将其他函数作为输入变量的函数。1.函数的表示2.函数画图3.函数最小值和零点4.数值积分5.在功能函数中使用含参函数第六十八页,共一百二十三页,编辑于2023年,星期五在matlab中,函数可以通过以下方式来表示:M文件;匿名函数;函数inline()。1.函数的表示第六十九页,共一百二十三页,编辑于2023年,星期五第七十页,共一百二十三页,编辑于2023年,星期五2.函数画图MATLAB提供函数画图的函数如下表所示。函数画图的函数
第七十一页,共一百二十三页,编辑于2023年,星期五以函数fplot()为例介绍画图函数的用法,其具体使用方法如下:fplot(function,limits),function为待画图的函数,limits是横坐标数值范围或横纵坐标数值范围;第七十二页,共一百二十三页,编辑于2023年,星期五fplot(function,limits,LineSpec),LineSpec指定画图的线条属性;fplot(function,limits,tol),tol指定画图相对精度;fplot(function,limits,tol,LineSpec),指定画图的线条属性和画图相对精度。第七十三页,共一百二十三页,编辑于2023年,星期五画网格的作用是1不是L第七十四页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第七十五页,共一百二十三页,编辑于2023年,星期五3.函数最小值和零点求函数的最小值和零点的函数,如下表所示。求函数最小值和零点
第七十六页,共一百二十三页,编辑于2023年,星期五(1)求一元函数最小值函数fminbnd()求一元函数在给定区间内的最小值,其具体使用方法如下:x=fminbnd(fun,,x1,x2),在区间[x1x2]内寻找函数最小值;
第七十七页,共一百二十三页,编辑于2023年,星期五x=fminbnd(fun,x1,x2,options),使用options选项来指定的优化器的参数;[x,fval]=fminbnd(...),附加返回函数最小值。第七十八页,共一百二十三页,编辑于2023年,星期五(2)求多元函数的最小值函数fminsearch()求多元函数的最小值。其具体使用方法如下:x=fminsearch(fun,x0),在初始x0附近寻找局部最小值;x=fminsearch(fun,x0,options),使用options选项来指定优化器的参数;第七十九页,共一百二十三页,编辑于2023年,星期五[x,fval]=fminsearch(...),附加返回函数最小值。第八十页,共一百二十三页,编辑于2023年,星期五(3)求一元函数的零点函数fzero()求一元函数的零点,其具体使用方法如下:x=fzero(fun,x0),在x0点附近寻找函数的零点;x=fzero(fun,[x0,x1]),在[x0,x1]区间内寻找函数的零点;第八十一页,共一百二十三页,编辑于2023年,星期五x=fzero(fun,x0,options),用options指定寻找零点的优化器参数;[x,fval]=fzero(...),附加自变量为x时的函数值。第八十二页,共一百二十三页,编辑于2023年,星期五(4)优化器参数函数optimset()设定优化器参数,其具体使用方法如下:options=optimset('param1',value1,'param2',value2,...),用参数名和对应的参数值设定优化器的参数;第八十三页,共一百二十三页,编辑于2023年,星期五optimset,显示优化器的所有参数名和有效的参数值;options=optimset,返回一个优化器的结构体;options=optimset(optimfun),返回函数optimfun()对应的优化器参数;第八十四页,共一百二十三页,编辑于2023年,星期五options=optimset(oldopts,'param1',value1,...),在原优化器参数oldopts的基础上,改动指定优化器参数;options=optimset(oldopts,newopts),用newopts的所有非空参数覆盖oldopts中的值。第八十五页,共一百二十三页,编辑于2023年,星期五在函数optimset()中常用的优化器参数如下表所示。优化器参数
第八十六页,共一百二十三页,编辑于2023年,星期五函数optimget()得到目前优化器的参数,其具体使用方法如下:val=optimget(options,'param'),返回优化器参数'param'的值;val=optimget(options,'param',default),返回优化器参数'param'的值。第八十七页,共一百二十三页,编辑于2023年,星期五4.数值积分MATLAB提供一些的数值积分函数,如下表所示。数值积分函数
第八十八页,共一百二十三页,编辑于2023年,星期五(1)一元函数的数值积分函数quad()和函数quadl()来计算一元函数的积分。函数quad()的具体使用方法如下:q=quad(fun,a,b),计算函数fun在[ab]区间内的定积分;第八十九页,共一百二十三页,编辑于2023年,星期五q=quad(fun,a,b,tol),以绝对误差容限tol计算函数fun在[ab]区间内的定积分;q=quad(fun,a,b,tol,trace),当trace为非零值时,显示迭代过程的中间值。第九十页,共一百二十三页,编辑于2023年,星期五(2)矢量数值积分矢量数值积分等价于多个一元定积分。第九十一页,共一百二十三页,编辑于2023年,星期五(3)二重和三重积分
函数dblquad()计算二重积分。其具体使用方法如下:q=dblquad(fun,xmin,xmax,ymin,ymax),计算二元函数的二重积分;q=dblquad(fun,xmin,xmax,ymin,ymax,tol),用tol指定绝对计算精度;第九十二页,共一百二十三页,编辑于2023年,星期五q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method),用method指定计算一维积分时采用的函数。第九十三页,共一百二十三页,编辑于2023年,星期五5.在功能函数中使用含参函数
功能函数中的含参函数的两种解决方法:嵌套函数匿名函数第九十四页,共一百二十三页,编辑于2023年,星期五编写M文件的函数时:首先将含参函数的参数作为输入;其次在其中调用功能函数,形成嵌套;最后通过调用该函数进行计算。(1)用嵌套函数提供函数参数第九十五页,共一百二十三页,编辑于2023年,星期五第九十六页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第九十七页,共一百二十三页,编辑于2023年,星期五(2)用匿名函数提供函数参数用匿名函数提供函数参数的具体步骤如下:创建一个含参函数,并保存为M文件格式;调用功能函数的M文件中给参数赋值;用含参函数创建匿名函数;把匿名函数句柄传递给功能函数计算。第九十八页,共一百二十三页,编辑于2023年,星期五6.5微分方程组数值解在MATLAB中,可以计算微分方程数值解,如:常微分方程组的初值问题;延迟微分方程的问题;常微分方程组的边界问题。第九十九页,共一百二十三页,编辑于2023年,星期五第一百页,共一百二十三页,编辑于2023年,星期五6.5.1常微分方程组的初值问题1.显式常微分方程组2.设置解法器参数3.线性隐式常微分方程组4.完全隐式常微分方程组第一百零一页,共一百二十三页,编辑于2023年,星期五在MATLAB中可以计算以下初值问题的数值解。显式常微分方程组;线性隐式常微分方程组;完全隐式常微分方程组。第一百零二页,共一百二十三页,编辑于2023年,星期五1.显式常微分方程组在MATLAB中,用函数实现不同的解法,如下表所示。第一百零三页,共一百二十三页,编辑于2023年,星期五常微分方程组解法对比
第一百零四页,共一百二十三页,编辑于2023年,星期五2.设置解法器参数函数odeset()设定解法器参数,其具体使用方法如下:options=odeset('name1',value1,'name2',value2,…),用参数名和相应参数值设定解法器的参数;第一百零五页,共一百二十三页,编辑于2023年,星期五options=odeset(oldopts,‘name1’,value1,…),修改原来的解法器options结构体oldopts;options=odeset(oldopts,newopts),合并两个解法器options结构体oldopts和newopts;odeset,显示所有的参数值和它们的默认值。第一百零六页,共一百二十三页,编辑于2023年,星期五常微分方程组解法器参数第一百零七页,共一百二十三页,编辑于2023年,星期五第一百零八页,共一百二十三页,编辑于2023年,星期五3.线性隐式常微分方程组线性隐式常微分方程组可以利用解法器参数options来求解。第一百零九页,共一百二十三页,编辑于2023年,星期五第一百一十页,共一百二十三页,编辑于2023年,星期五运行结果如下图所示。第一百一十一页,共一百二十三页,编辑于2023年,星期五4.完全隐式常微分方程组函数ode15i()求解完全隐式常微分方程组,其具体使用方法如下:[t,Y]=o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年浙江中医药大学临床医学院及直属附属医院公开招聘人员备考题库及答案详解(考点梳理)
- 2026年澄江市退役军人事务局公开招聘办公辅助编外人员招聘备考题库及答案详解(考点梳理)
- 2026年百色市田东县义圩中心卫生院自主招聘备考题库及答案详解一套
- 实验室安全考试题库及答案
- 医护英语考试试卷及答案
- 2026年宁波市江北工投控股集团有限公司公开招聘劳务派遣工作人员备考题库及答案详解一套
- 通辽市扎鲁特旗事业单位2026年第一批次人才引进39人备考题库及完整答案详解一套
- 2026年四川筑臻劳务服务有限公司公开招聘劳务派遣人员的备考题库及完整答案详解1套
- 2026年山东工商学院面向海内外公开招聘二级学院院长备考题库(含答案详解)
- 2026年哈尔滨医科大学附属第二医院公开招聘病房(科室)副主任岗位的备考题库及答案详解(易错题)
- 中国马克思主义与当代2024版教材课后思考题答案
- 2026年日历表(每月一页、可编辑、可备注)
- 护理文书年终汇报
- DB13(J)-T 8463-2022 住宅小区供配电设施建设技术标准 (2024年版)
- 餐饮服务流程优化
- 技术标编制培训
- 2024年北师大版八年级生物上册阶段测试试卷含答案
- 2024-2025学年六上科学期末综合检测卷(含答案)
- 护理分级ADL评分
- GJB9001C-2017-组织环境、相关方要求及风险与机遇管理程序(含表格)
- 华为《智慧楼宇》整体解决方案课件
评论
0/150
提交评论