第4讲--Matlab的常用数学函数与运算教材课件

上传人:无*** 文档编号:241645178 上传时间:2024-07-12 格式:PPT 页数:32 大小:119.50KB
返回 下载 相关 举报
第4讲--Matlab的常用数学函数与运算教材课件_第1页
第1页 / 共32页
第4讲--Matlab的常用数学函数与运算教材课件_第2页
第2页 / 共32页
第4讲--Matlab的常用数学函数与运算教材课件_第3页
第3页 / 共32页
点击查看更多>>
资源描述
系统仿真 第四讲 Matlab的常用数学函数与运算7/12/20241系统仿真 一、基本的数学函数(1)1、三角函数、三角函数 sin/asin 正弦/反正弦函数 sec/asec 正割/反正割函数sinh/asinh 双曲正弦/反双曲正弦函数 sech/asech 双曲正割/反双曲正割函数cos/acos 余弦/反余弦函数 csc/acsc 余割/反余割函数 7/12/20242系统仿真 cosh/acosh 双曲余弦/反双曲余弦函数 csch/acsch 双曲余割/反双曲余割函数tan/atan 正切/反正切函数 cot/acot 余切/反余切函数tanh/atanh 双曲正切/反双曲正切函数 coth/acoth 双曲余切/反双曲余切函数atan2 四个象限内反正切函数 7/12/20243系统仿真 一、基本的数学函数(2)2、指数函数exp(),log(),log10(),sqrt()exp()指数函数 exp(a)=ea exp(1)=2.718log()自然对数函数 log(a)=ln(a)log(3)=1.0968log10()常用对数函数 log10(a)=lg(a)log10(100)=27/12/20244系统仿真 一、基本的数学函数(3)3、复数函数 abs(),,angle(),conj(),imag(),real()abs()绝对值函数 实数,求其绝对值 复数,求其模 abs(-5)5 abs(3+4i)5 (abs(3+i4)?Undefined function or variable i4.)7/12/20245系统仿真 imag()求虚部函数 imag(3+4i)4real()求实部函数 real(3+4i)3angle()角相位函数 angle(4i)1.5708 conj()共轭复数函数 conj(3+4i)3.0000-4.0000i7/12/20246系统仿真 一、基本的数学函数(4)4、数值函数a-0.3,0.5,3.4fix()沿零方向取整 fix(a)=0 0 3round()四舍五入取整 round(a)=0 1 3floor()沿-方向取整 floor(a)=-1 0 3ceil()沿+方向取整 ceil(a)=0 1 4sign()符号函数 sign(a)=-1 1 1rem()求除法的余数 REM(x,y)is x-n.*y where n=fix(x./y)if y=0.rem(-8,3.3)-1.4 7/12/20247系统仿真 一、基本的数学函数(5)5、统计分析函数max 求最大值 min 求最小值mean 求平均值median 求平均中间值sum 求和std 求标准差var 求方差sort 递增排序7/12/20248系统仿真 一、基本的数学函数(6)6.矩阵函数矩阵函数 expm 矩阵指数函数 logm 矩阵对数函数 funm 矩阵任意函数 sqrtm 矩阵平方根expm()矩阵指数函数 expm(A)为 a1 1;1 1;b=expm(a)b=4.1945 3.1945;3.1945 4.1945expm1()Pade近似法计算矩阵指数函数expm2()Taylor级数法计算矩阵指数函数expm3()特征值法计算矩阵指数函数7/12/20249系统仿真 logm()矩阵对数函数 logm(b)1 1;1 1 sqrtm()矩阵平方根函数 a=1 1;1 1,sqrtm(a)=0.7071 0.7071;0.7071 0.7071funm()一般矩阵函数求值 funm(A,fun)F=funm(a,sqrt)7/12/202410系统仿真 二、多项式运算(1)多项式的建立matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。f(x)=anxn+an-1xn-1+a1x+a0 可用行向量 p=an an-1 a1+a0表示1、poly 产生特征多项式系数向量特征多项式一定是n+1维的;特征多项式第一个元素一定是1。7/12/202411系统仿真 例:a=1 2 3;4 5 6;7 8 0;p=poly(a)p=1.00 -6.00 -72.00 -27.00p是多项式p(x)=x3-6x2-72x-27的matlab描述方法,我们可用:p1=poly2str(p,x)函数,显示成数学多项式的形式:p1=x3-6 x2-72 x-27polyval(p,x)多项式求值函数 polyval(p,1)=-104polyvalm(p,X)p为多项式系数,X为方阵7/12/202412系统仿真 二、多项式运算(2)2、roots 求多项式的根 p=1.00 -6.00 -72.00 -27.00 r=roots(p)r=12.1229 -5.7345 -0.3884 显然r是p的特征值当然我们可用poly令其返回多项式形式p2=poly(r)p2=1.00 -6.00 -72.00 -27.007/12/202413系统仿真 二、多项式运算(3)3、conv卷积与多项式乘 例:a(x)=x2+2x+3;b(x)=4x2+5x+6;c=(x2+2x+3)(4x2+5x+6)a=1 2 3;b=4 5 6;c=conv(a,b)=conv(1 2 3,4 5 6)c=4.00 13.00 28.00 27.00 18.00p=poly2str(c,x)p=4 x4+13 x3+28 x2+27 x+187/12/202414系统仿真 二、多项式运算(4)4、deconv()反卷积与多项式除 d,r=deconv(c,a)r:余数d:c除a后的整数a=1 2 3;c=4.00 13.00 20.00 27.00 18.00d,r=deconv(c,a)d=4 5 -2 r=0 0 0 16 24 7/12/202415系统仿真 二、多项式运算(5)5、polyder():求多项式的导数求多项式的导数 例:a=1 2 3 4 5;poly2str(a,x)ans=x4+2 x3+3 x2+4 x+5b=polyder(a)b=4 6 6 47/12/202416系统仿真 二、多项式运算(6)6、polyfit()多项式拟合()多项式拟合 用于寻找数据之间的函数关系,如欧姆定理 polyfit(X,Y,N)x0=0:0.1:1;y0=-.447 1.978 3.11 5.25 5.02 4.66 4.01 4.58 3.45 5.35 9.22;p=polyfit(x0,y0,3)%p=56.6915 -87.1174 40.0070 -0.9043xx=0:0.01:1;yy=polyval(p,xx);plot(xx,yy,-b,x0,y0,or)7/12/202417系统仿真 二、多项式运算(7)7、插值的定义是对某些集合给定的数据点之间函数的估值方法。当不能很快地求出所需中间点的函数时,插值是一个非常有价值的工具。Matlab提供了一维、二维、三次样条等许多插值选择一维数据插值一维数据插值在MATLAB中,实现这些插值的函数是interp1,其调用格式为:Y1=interp1(X,Y,X1,method)函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有linear、nearest、cubic、spline。注意:X1的取值范围不能超出X的给定范围,否则,会给出“NaN”错误。7/12/202418系统仿真 MATLAB中有一个专门的3次样条插值函数Y1=spline(X,Y,X1),其功能及使用方法与函数Y1=interp1(X,Y,X1,spline)完全相同。例 某观测站测得某日6:00时至18:00时之间每隔2小时的室内外温度(),用3次样条插值分别求得该日室内外6:30至17:30时之间每隔2小时各点的近似温度()。设时间变量h为一行向量,温度变量t为一个两列矩阵,其中第一列存放室内温度,第二列储存室外温度。命令如下:h=6:2:18;t=18,20,22,25,30,28,24;15,19,24,28,34,32,30;XI=6.5:2:17.5YI=interp1(h,t,XI,spline)%用3次样条插值计算二维数据插值二维数据插值的函数interp2,其调用格式为:Z1=interp2(X,Y,Z,X1,Y1,method)7/12/202419系统仿真 二、多项式运算(8)8、residue()()计算留数计算留数 R,P,K=residue(B,A)B(s)R(1)R(2)R(n)-=-+-+.+-+K(s)A(s)s-P(1)s-P(2)s-P(n)例:已知控制系统的闭环传递函数为 ,利用residue.m函数作部分分式展开。n1 2 2;d=1 6 11 6;r,p,k=residue(n,d);r;pans=2.5000 -2.0000 0.5000 -3.0000 -2.0000 -1.0000则部分分式分解的结果为:7/12/202420系统仿真 三、线性方程组求解对于方程ax=b,a 为anm矩阵,有三种情况:当n=m时,此方程成为“恰定”方程 当nm时,此方程成为“超定”方程 当nm时,此方程成为“欠定”方程 matlab定义的除运算可以很方便地解上述三种方程:x=ab7/12/202421系统仿真 方程ax=ba=1 2;2 3;b=8;13;x=abx=2.00 3.00 =a x =b例:x1+2x2=8 2x1+3x2=137/12/202422系统仿真 四、数值积分(1)1、数值积分基本原理求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson)法、牛顿柯特斯(Newton-Cotes)法等都是经常采用的方法。它们的基本思想都是将整个积分区间a,b分成n个子区间xi,xi+1,i=1,2,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。7/12/202423系统仿真 四、数值积分(2)2、变步长辛普生法基于变步长辛普生法,MATLAB给出了quad函数来求定积分。该函数的调用格式为:I,n=quad(fname,a,b,tol,trace)其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,缺省时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。7/12/202424系统仿真 例 求定积分。(1)建立被积函数文件fesin.m。function f=fesin(x)f=exp(-0.5*x).*sin(x+pi/6);(2)调用数值积分函数quad求定积分。S,n=quad(fesin,0,3*pi)S=0.9008n=777/12/202425系统仿真 四、数值积分(3)3、被积函数由一个表格定义在MATLAB中,对由表格形式定义的函数关系的求定积分问题用trapz(X,Y)函数。其中向量X,Y定义函数关系Y=f(X)。例 用trapz函数计算定积分。命令如下:X=1:0.01:2.5;Y=exp(-X);%生成函数关系数据向量trapz(X,Y)ans=0.285796824163937/12/202426系统仿真 五、数值微分五、数值微分在MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数diff,其调用格式为:DX=diff(X):计算向量X的向前差分,DX(i)=X(i+1)-X(i),i=1,2,n-1。DX=diff(X,n):计算X的n阶向前差分。例如,diff(X,2)=diff(diff(X)。DX=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(缺省状态),按列计算差分;dim=2,按行计算差分。7/12/202427系统仿真 例 x=1:10Y1=diff(x.2)Y1=3 5 7 9 11 13 15 17 19Y2=diff(x.2,2)Y2=2 2 2 2 2 2 2 27/12/202428系统仿真 六、非线性方程数值求解非线性方程数值求解 在MATLAB中提供了一个fzero函数,可以用来求单变量非线性方程的根。该函数的调用格式为:z=fzero(fname,x0,tol,trace)其中fname是待求根的函数文件名,x0为搜索的起点。一个函数可能有多个根,但fzero函数只给出离x0最近的那个根。tol控制结果的相对精度,缺省时取tol=eps,trace 指定迭代信息是否在运算中显示,为1时显示,为0时不显示,缺省时取trace=0。7/12/202429系统仿真 七、函数极值单变量函数求极值fminbnd()求取固定区间内单变量函数的最小值。调用格式:x=fminbnd(fun,x1,x2)x,fval=fminbnd(fun,x1,x2)x:区间x1,x2上使fun取得最小值的自变量值。fval:所求取到的函数最小值。7/12/202430系统仿真 例:寻找函数 在-5,5区间的最小值。f=inline(x2+3*x+2);xmin,fval=fminbnd(f,-5,5)xmin=-1.5000fval=-0.2500MATLAB没有专门提供求函数最大值的函数,通常利用-f(x)在区间(a,b)上的最小值就是f(x)在(a,b)的最大值这一法则来求取。7/12/202431系统仿真 谢谢大家!谢谢大家!7/12/202432
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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