版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章MATLAB在数学运算中的应用2.1MATLAB在高等数学中的应用2.2MATLAB在线性代数中的应用2.3MATLAB在积分变换中的应用2.4MATLAB在复变函数中的使用2.5多项式运算2.1MATLAB在高等数学中的应用
2.1.1微分和积分1.微分微分运算使用符号表达式的diff函数,命令格式如下:
diff(f,t,n)%计算f对符号变量t的n阶微分【例2_1】计算表达式f=cos(ax)+sin(ax)+y³sin(2x)对x的一阶微分和二阶微分,以及对y的一阶微分。
>>symsaxy %创建符号变量
>>f=cos(a*x)+sin(a*x)+y^3*sin(2*x);
>>dfdx=diff(f) %计算对x的一阶微分
dfdx=
2*cos(2*x)*y^3+a*cos(a*x)-a*sin(a*x)
>>dfdx2=diff(f,2) %计算对x的二阶微分
dfdx2=
-4*y^3*sin(2*x)-a^2*cos(a*x)-a^2*sin(a*x)
>>dfdy=diff(f,y) %计算对y的一阶微分
dfdy=
3*y^2*sin(2*x)
2.积分在数学中积分其命令的语法格式如下:int(f,t,a,b) %计算符号变量t的积分说明:f为符号表达式;t为积分符号变量,可以省略,当t省略时则指默认自由符号变量;a和b为积分上下限[ab],可以省略,省略时计算的是不定积分。
2.1.2极限函数格式表达式说明limt(f)求符号表达式f对x趋近于0的极限limt(f,a)求符号表达式f对默认自由符号变量趋近于a的极限limt(f,x,a)
求符号表达式f对x趋近于a的极限
limt(f,x,a,left)求符号表达式f对x左趋近于a的极限limt(f,x,a,right)
求符号表达式f对x右趋近于a的极限
2.1.3级数1.级数求和MATLAB提供了symsum函数实现有限个级数求和,其命令的语法格式如下:symsum(s,x,a,b) %计算表达式s当x从a到b的级数和说明:s为符号表达式;x为符号变量,可省略,省略时使用默认自由变量;a和b为符号变量的范围,可省略,省略时范围是无限个级数。
2.taylor级数如果函数f(x)在点x0的某一邻域内具有从一阶到n+1阶的导数,则在该邻域内函数f(x)在点x=x0时,趋向无穷的幂级数为:taylor(f,x,x0,’Order’,n) %求泰勒级数以符号变量x在x0点展开n项说明:f为符号表达式;x为符号变量,可省略,省略时使用默认自由变量;n是指f进行泰勒级数展开的项数,可省略,n省略则默认展开前5项;x0是泰勒级数的展开点。【例2_7】使用泰勒级数在0.5展开y=ln(x)的前三项和五项级数,并显示其波形曲线。>>symsxf1>>f1=log(x);>>y1=taylor(f1,x,0.5,'Order',3)%计算x=0.5处的泰勒级数前三项展开和y21=2*x-log(2)-2*(x-1/2)^2-1>>y2=taylor(f1,0.5)%计算x=0.5处的泰勒级数前五项展开和y22=2*x-log(2)-2*(x-1/2)^2+(8*(x-1/2)^3)/3-4*(x-1/2)^4+(32*(x-1/2)^5)/5-1>>taylortool %打开泰勒级数窗口2.1.4解方程和微分方程
2.解微分方程(1)dsolve函数MATLAB提供dsolve函数来求常微分方程的符号解,命令格式如下:S=dsolve(eqn,cond,v) %求解微分方程说明:
eqn和eqn1,eqn2,…是符号常微分方程,方程组最多可允许12个方程,方程中D表示微分,则D2、D3分别表示二阶、三阶微分,y的一阶导数dy/dx或dy/dt表示为Dy;
cond是初始条件,可省略,当初始条件少于微分方程数时,在所得解中将出现任意常数符C1,C2……,解中任意常数符的数目等于所缺少的初始条件数,是微分方程的通解。【例2_9】求微分方程dy/dt=cos(t)-ycos(t)当y(0)=0时的特解。>>symsy(t)>>y=dsolve(diff(y,t)==cos(t)-y*cos(t),y(0)==0) y=1-exp(-sin(t))MATLAB为解常微分方程提供了7种数值求解的方法,包括ode45、ode23、ode113、ode15s、ode23s、ode23t和ode23tb函数,各函数的命令格式如下:[t,y]=ode45(fun,ts,y0,options) %解常微分方程【例2_10】求微分方程的数值解dxdt=0.5(x-x2),使用dsolve函数和ode45函数分别求解,初始条件x(0)=0.05,并绘制输出波形如图2_5所示。>>clear>>fun=@(t,x)0.5*(x-x^2); %创建匿名函数>>[t,x]=ode45(fun,[-16],0.05);>>plot(t,x)
2.1.5函数1.反函数和复合函数(1)反函数函数f(x)存在一个反函数g(.),g(f(x))=x,则g和f互为反函数。g=finverse(f,v) %对f(v)按指定自变量v求反函数
(2)复合函数MATLAB提供了compose函数可以求出f(x)和g(y)的复合函数f(g(y))。其命令的语法格式如下:compose(f,g,x,y,z) %计算f和g的复合函数说明:x、y、z都可以省略,都省略时则计算出的复合函数为f(g(y));当x和y省略时,计算出f(g(z));都不省略时以x为自由符号变量计算出f(g(z)),并将z替代符号变量y。
2.函数的最小值(1)fminbnd函数fminbnd函数用来计算单变量非线性函数的最小值。其命令的语法格式如下:[x,y]=fminbnd(h_fun,x1,x2,options)[x,y]=fminbnd(‘funname’,x1,x2,options)【例2_13】用fminbnd求解函数-x(1-x)+10的极小值,函数曲线如图2_7所示。>>symsxy>>h=inline('-x*(1-x)+10'); %inline产生函数>>[x,y]=fminbnd(h,-6,6) %求解极小值x=0.5000y=9.7500>>ezplot(h)>>text(x,y,'MIN')(2)fminsearch函数fminsearch函数是求多变量无束缚非线性最小值,是采用Nelder-Mead单纯形算法求解多变量函数的最小值。其命令的语法格式如下:x=fminsearch(h_fun,x0)x=fminsearch(‘funname’,x0)说明:x0是最小值点的初始猜测值。【例2_14】求著名的Banana测试函数f(x,y)=100(y-x2)2+(1-x)2的最小值,它的理论最小值是x=1,y=1。该测试函数有一片浅谷,很多算法都难以逾越。>>fn=inline('100*(x(2)-x(1)^2)^2+(1-x(1))^2','x') %用inline产生内联函数fn=Inlinefunction:fn(x)=100*(x(2)-x(1)^2)^2+(1-x(1))^2>>y=fminsearch(fn,[0.5,-1]) %从(0.5,-1)为初始值开始搜索求最小值y=1.01.00002.2MATLAB在线性代数中的应用
2.2.1行列式1.计算特征值和特征向量在MATLAB中,eig函数求解特征值和特征向量。
2.向量组的线性相关性定理:向量组a1,a2,a3,…,am线性相关的充分必要条件是它所构成的矩阵A=(a1,a2,a3,…,am)的秩小于向量个数m;向量组线性无关的充分必要条件是秩=m。当矩阵的秩等于矩阵的边长,则线性无关。行列式的值det(x)也可以判断线性相关,当det(x)=0则线性相关。
3.矩阵翻转函数名功能例子输入结果flipud(x)使x沿水平轴上下翻转flipud(a)456123fliplr(x)使x沿垂直轴左右翻转fliplr(a)321654flipdim(x,dim)使x沿特定轴翻转dim=1,按行维翻转dim=2,按列维翻转flipdim(a,1)456123rot90(x,k)使x逆时针旋转k*900默认k取1rot90(a)3625142.2.2正交性
2.正交分解在MATLAB中,利用qr函数对矩阵进行QR分解。其函数的语法格式如下:[q,r]=qr(x) %生成一个上三角矩阵r和正交矩阵q说明:矩阵q的列向量组就是所求的规范正交化向量组。m×n矩阵x分解为一个正交方阵q和一个与x同阶的上三角矩阵r的乘积。方阵q的边长为矩阵x的n和m中较小者,且其行列式的值为1。实现QR分解后,线性方程组Ax=b的解x=R\(Q\b)。2.2.3向量空间向量空间的基定义是:一个向量空间V最大的线性独立子集,称为这个空间的基。向量空间的所有基拥有相同基数,称为该空间的维度。
2.3MATLAB在积分变换中的应用
2.3.1Fourier变换fourier和ifourier函数的命令格式如下:F=fourier(f,t,w)
%求以t为符号变量f的fourier变换Ff=ifourier(F,w,t) %求以w为符号变量的F的fourier反变换f
2.3.2Laplace变换laplace和ilaplace函数的命令格式如下:F=laplace(f,t,s) %求以t为变量f的Laplace变换Ff=ilaplace(F,s,t) %求以s为变量的F的Laplace反变换f说明:f是符号表达式;t是符号变量,可省略,当t省略默认自由变量为't';s是符号变量,可省略,省略时为's'。【例2_24】证明Laplace变换的时移性质,其中,f为任意的一个函数,u是阶跃函数。>>symstsf(t)>>symst0positive %创建正数符号变量>>ft=heaviside(t-t0)*sym(f(t-t0));>>FS=laplace(ft,t,s) %拉式变换FS=laplace(f(t),t,s)/exp(s*t0)>>FS_t=ilaplace(FS,s,t) %拉式逆变换FS_t=f(t-t0)*heaviside(t-t0)2.3.3Z变换使用ztrans和iztrans函数计算Z变换和Z反变换的命令格式如下:F=ztrans(f,n,z) %求以n为变量的f的Z变换Ff=iztrans(F,z,n) %求以z为变量的F的z反变换f说明:f是离散信号的符号表达式;n是符号变量,可省略,省略时默认符号变量为'n';z表示替换符号变量,可省略,省略时默认符号变量为'z'。【例2_25】使用ztrans函数对单位阶跃函数和t求Z变换。>>symsknzt>>zf1=ztrans(heaviside(t),n,z) %对单位阶跃函数求Z变换zf1=heaviside(t)*z/(z-1)>>f2=n;>>zf2=ztrans(f2) %对t求Z变换zf2=1/(z-1)^2*z程序分析:Z变换是对于离散信号的,因此变换前的函数是以n为变量。2.4MATLAB在复变函数中的使用
2.4.1复数
两个复数的乘积可以表示为模相乘而相角相加,复数的幂表示为模的幂和相角的倍数,复数的方根表示为模相同,在圆周上正n变形的n个顶点。【例2_27】计算Z=41+i的方根,并绘制出向量图。>>Z=(1+i)^(1/4)>>r=abs(Z)>>forn=0:(4-1)theta=angle(Z)+(2*n*pi)/4; x=r*cos(theta);y=r*sin(theta);compass(x,y)holdonendZ=1.0696+0.2127ir=1.09052.4.2复变函数
【例2_28】计算Cz2dz,其中C为半圆周,起点为-3i,终点为3i,如图所示。>>symsz;>>f=exp(z)/(z-1)^3/(z^2-9);>>r=limit((diff(f*(z-1)^3,z,2))/prod(1:2),z,1)%计算z=1留数r=-(15*exp(1))/128>>a=2*pi*i*r %计算闭曲线积分a=-(pi*exp(1)*15i)/642.4.3留数1.留数留数的基本定理:如果z0为f(z)的m级极点,那么:
MATLAB中计算留数使用residue函数,其命令的语法格式如下:[r,p]=residue(a,b) %计算留数(部分分式法)
2.5多项式运算一个多项式按降幂排列为:p(x)=anxn+an-1xn-1+…+a1x+a0在MATLAB中用行向量来表示多项式的各项系数,使用长度为n+1的行向量按降幂排列,用0表示多项式中某次幂的缺项,则表示为:p=[anan-1…
a1a0]例如,p(x)=x3-4x2+3x+1可表示为p=[1-431];p(x)=x3+5x2+2x可表示为p=[1520]。
2.5.1多项式的算术运算1.多项式与符号表达式的转换poly2sym是将行向量转换为符号表达式,相反则使用sym2poly函数。2.多项式的乘法和除法多项式的乘法和除法运算分别使用函数conv和deconv来实现,这两个函数也可以对应于卷积(convpolytion)和解卷(deconvpolytion)运算。乘除法的命令格式如下:p=conv(pl,p2) %计算多项式p1和p2的乘积[q,r]=deconv(pl,p2) %计算多项式p1与p2的商说明:除法不一定会除尽,多项式p1被p2除的商为多项式q,而余子式是r。3.部分分式展开将由分母多项式和分子多项式构成的表达式进行部分分式展开,当分母没有重根时:[r,p,k]=residue(B,A) %将分母多项式A和分子多项式B进行部分分式展开[B,A]=residue(r,p,k)。【例2_33】将表达式G1进行部分分式展开,G1和G2表达式如下:。>>a1=[1-611-60];>>b1=10;>>[r1,p1,k1]=residue(b1,a1) %将G部分分式展开r1=1.6667-5.00005.0000-1.6667p1=3.00002.00001.00000k1=[]4.多项式的微积分在MATLAB中可以使用polyder函数来计算多项式的微分,polyder函数可以计算单个多项式的导数以及两个多项式乘积和商的导数。语法格式如下:polyder(p) %计算p的导数polyder(a,b) %计算a和b乘积的导数[q,d]=polyder(b,a)%计算a和b商的导数polyint(p,k)%计算P的积分,使用k为常数项
5.多项式求根和求值使用roots函数来计算多项式的根,多项式的根以列向量的形式表示。函数polyval和polyvalm可以用来计算多项式在给定变量时的值。其语法格式如下:polyval(p,x) %得出变量x对应多项式值polyvalm(p,x) %得出矩阵x对应多项式值说明:polyvalm要求输入的矩阵是行列相等的方阵,以矩阵为整体作为自变量。【例2_35】计算多项式p(x)=5x4+4x3+3x2+2x+1根,计算当x为0到10时p的值,并绘制出波形图。>>p=[54321];>>x=roots(p)%求多项式的根x=0.1378+0.6782i0.1378-0.6782i-0.5378+0.3583i-0.5378-0.3583i>>t=0:0.1:10;>>y=polyval(p,t);>>plot(t,y)2.6拟合与插值
2.6.1拟合1.多项式的拟合函数多项式的拟合可以使用polyfit函数来实现,拟合的准则是最小二乘法,即找出使最小的f(x)。语法格式如下:p=polyfit(x,y,n) %由x和y得出多项式p【例2_34】使用多项式p(x)=5x4+4x3+3x2+2x+1,根据拟合的方法对曲线的数据进行二阶、三阶和四阶拟合,并绘制二阶拟合和四阶拟合的曲线进行对比。>>x=0:0.5:20;
>>p=[54321];>>y=polyval(p,x)>>p2=polyfit(x,y,2) %2阶拟合p2=1.0e+004*0.3572-3.73386.5791>>p3=polyfit(x,y,3) %3阶拟合p3=1.0e+004*0.0204-0.25481.1020-0.9791>>p4=polyfit(x,y,4); %4阶拟合p4=5.00004.00003.00002.00001.0000>>p4x=poly2str(p4,'x')p4x=5x^4+4x^3+3x^2+2x+1>>y2=polyval(p2,x); %计算x对应的多项式值>>plot(x,y,x,y2)2.使用“Curvefitting”工具窗口
2.6.2插值运算插值(interpolation)是在两个原始数据点之间根据一定的运算关系插入新的数据点,以便更准确地得出数据的变化规律。当工程中有一些离散点的数值,通过插值运算可以得到近似的连续过程,插值运算广泛使用于信号和图像处理领域。1.一维插值一维插值是指对一个自变量的插值,interp1函数用来进行一维插值,命令格式如下:yi=interp1(x,y,xi,'method')
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 监控系统瘫痪应急预案(3篇)
- 空店面营销活动方案(3篇)
- 线路管道安全施工方案(3篇)
- 试验场应急预案(3篇)
- 辽宁乳化沥青施工方案(3篇)
- 酒店消防装修施工方案(3篇)
- 铁路电缆安全应急预案(3篇)
- 雨雪应急预案采访内容(3篇)
- 驼峰改造施工方案范本(3篇)
- 中医五色与五谷
- 2025校招:硬件工程师笔试题目及答案
- 数控加工中心操作编程练习图纸60张
- 三角函数(一轮复习教案)
- 沪教版六年级上册数学练习题
- 血管炎患者的护理
- 架线跨越果林施工方案
- 16G362钢筋混凝土结构预埋件(详细书签)图集
- 价值型销售(技能篇)
- T-CECS120-2021套接紧定式钢导管施工及验收规程
- 医学实验风险评估报告
- MR355.臂丛神经规范化扫描方案
评论
0/150
提交评论