第4讲Matlab的常用数学函数与运算_第1页
第4讲Matlab的常用数学函数与运算_第2页
第4讲Matlab的常用数学函数与运算_第3页
第4讲Matlab的常用数学函数与运算_第4页
第4讲Matlab的常用数学函数与运算_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、系统仿真 1:311 / 32第四讲 Matlab的常用数学函数与运算系统仿真 1:312 / 32一、基本的数学函数(1)1、三角函数、三角函数 sin/asin 正弦/反正弦函数 sec/asec 正割/反正割函数sinh/asinh 双曲正弦/反双曲正弦函数 sech/asech 双曲正割/反双曲正割函数cos/acos 余弦/反余弦函数 csc/acsc 余割/反余割函数系统仿真 1:313 / 32cosh/acosh 双曲余弦/反双曲余弦函数 csch/acsch 双曲余割/反双曲余割函数tan/atan 正切/反正切函数 cot/acot 余切/反余切函数tanh/atanh 双

2、曲正切/反双曲正切函数 coth/acoth 双曲余切/反双曲余切函数atan2 四个象限内反正切函数 系统仿真 1:314 / 32一、基本的数学函数(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)=2系统仿真 1:315 / 32一、基本的数学函数(3)3、复数函数 abs(), ,angle(),conj(),imag(),real()abs(

3、) 绝对值函数 实数,求其绝对值 复数,求其模 abs(-5) 5 abs(3+4i) 5 (abs(3+i4) ? Undefined function or variable i4.)系统仿真 1:316 / 32 imag() 求虚部函数 imag(3+4i) 4real() 求实部函数 real(3+4i) 3angle() 角相位函数 angle(4i) 1.5708 conj() 共轭复数函数 conj(3+4i) 3.0000-4.0000i系统仿真 1:317 / 32一、基本的数学函数(4)4、数值函数a-0.3,0.5,3.4fix() 沿零方向取整 fix(a) = 0

4、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 系统仿真 1:318 / 32一、基本的数学函数(5)5、统计分析函数max 求最大值 min 求最小值mean 求平均值median 求平均中间值sum 求和std 求标准差var 求方差so

5、rt 递增排序系统仿真 1:319 / 32一、基本的数学函数(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() 特征值法计算矩阵指数函数32!31!21AAAIeA系统仿真 1:3110 / 32 logm() 矩阵对数函数 logm(b) 1 1;1 1 sqrtm(

6、)矩阵平方根函数 a=1 1; 1 1, sqrtm(a)=0.7071 0.7071; 0.7071 0.7071funm() 一般矩阵函数求值 funm(A,fun) F = funm(a,sqrt) 系统仿真 1:3111 / 32二、多项式运算(1)多项式的建立matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。 f(x)=anxn+an-1xn-1+a1x+a0 可用行向量 p=an an-1 a1 +a0表示1、poly 产生特征多项式系数向量特征多项式一定是n+1维的;特征多项式第一个元素一定是1。 系统仿真 1:3112 / 32例:a=1 2 3;4

7、 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为方阵系统仿真 1:3113 / 32二、多项式运算(2)2、roots 求多项式的根 p =1.00 -6.00 -72.00 -27.00 r=roots(p)r = 12.1229 -

8、5.7345 -0.3884 显然r是p的特征值当然我们可用poly令其返回多项式形式p2=poly(r)p2 = 1.00 -6.00 -72.00 -27.00系统仿真 1:3114 / 32二、多项式运算(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 +

9、 18系统仿真 1:3115 / 32二、多项式运算(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 系统仿真 1:3116 / 32二、多项式运算(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 4系统仿真

10、 1:3117 / 32二、多项式运算(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)系统仿真 1:3118 / 32二、多项式运算(7)7、插值的定义是对某些集合给定

11、的数据点之间函数的估值方法。当不能很快地求出所需中间点的函数时,插值是一个非常有价值的工具。Matlab提供了一维、二维、 三次样条等许多插值选择一维数据插值一维数据插值在MATLAB中,实现这些插值的函数是interp1,其调用格式为:Y1=interp1(X,Y,X1,method)函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有linear、nearest、cubic、spline。注意:X1的取值范围不能超出X的给定范围,否则,会给出“

12、NaN”错误。系统仿真 1:3119 / 32MATLAB中有一个专门的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

13、:17.5YI=interp1(h,t,XI, spline) %用3次样条插值计算二维数据插值二维数据插值的函数interp2,其调用格式为:Z1=interp2(X,Y,Z,X1,Y1,method)系统仿真 1:3120 / 32二、多项式运算(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

14、 11 6;r,p, k=residue(n,d);r;pans=2.5000 -2.0000 0.5000 -3.0000 -2.0000 -1.0000则部分分式分解的结果为:611622)(232ssssssG1s5 . 0235 . 2)(ssSsG系统仿真 1:3121 / 32三、线性方程组求解对于方程ax=b,a 为anm矩阵,有三种情况: 当n=m时,此方程成为“恰定”方程 当nm时,此方程成为“超定”方程 当nm时,此方程成为“欠定”方程 matlab定义的除运算可以很方便地解上述三种方程:x=ab系统仿真 1:3122 / 32方程ax=ba=1 2;2 3;b=8;13;

15、x=abx = 2.00 3.00322121xx138 = a x = b例: x1+2x2=8 2x1+3x2=13系统仿真 1:3123 / 32四、数值积分(1)1、数值积分基本原理求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson) 法、牛顿柯特斯(Newton-Cotes)法等都是经常采用的方法。它们的基本思想都是将整个积分区间a,b分成n个子区间xi,xi+1,i=1,2,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。系统仿真 1:3124 / 32四、数值积分(2)2、变步长辛普生法基于变步长辛普生法,MATLAB给出了quad函数来求定积

16、分。该函数的调用格式为: I,n=quad(fname,a,b,tol,trace)其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,缺省时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。 系统仿真 1:3125 / 32例 求定积分。 (1) 建立被积函数文件fesin.m。function f=fesin(x)f=exp(-0.5*x).*sin(x+pi/6); (2) 调用数值积分函数quad求定积分。S,n=quad(fesin,0,3*

17、pi)S = 0.9008n = 77系统仿真 1:3126 / 32四、数值积分(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.28579682416393系统仿真 1:3127 / 32五、数值微分五、数值微分在MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数diff,其调用格式为:DX=diff(X):计算向量X的

18、向前差分,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,按行计算差分。系统仿真 1:3128 / 32例 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 2系统仿真 1:3129 / 32六、非线性方程数值求解非线性方程数值求解 在MATLAB中提供了一个fzero函数,可以用来求单变量非线性方程的根。该函数的调用格式为:z=fzero(fname,x0,tol,trace)其中fname是待求根的函数文件名,x0为搜索的起点。一个函数可能有多个根,但fzero函数只给出离x0最近的那个根。tol控制结果的相对精度,缺省时取tol=eps,trace 指定迭代信息是否在运算中显示,为1时显示,为0时不显示,缺省时取trace=0。 系统仿真 1:3130 / 32七、函数极值单变量函数求极值fminbnd() 求取固定区间内单变量函数的最小值。 调用格式:x = fmi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论