您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > MATLAB教程【9】工具箱
1.6matlab工具箱matlab工具箱已经成为一个系列产品,有matlab主工具箱和各种工具箱(toolbox)。一、工具箱简介•功能型工具箱——通用型功能型工具箱主要用来扩充matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。•领域型工具箱——专用型领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱(ControlSystemToolbox);信号处理工具箱(SignalProcessingToolbox);财政金融工具箱(FinancialToolbox)等等。只适用于某专业。Matlab常用工具箱•MatlabMainToolbox——matlab主工具箱•ControlSystemToolbox——控制系统工具箱•CommunicationToolbox——通讯工具箱•FinancialToolbox——财政金融工具箱•FuzzyLogicToolbox——模糊逻辑工具箱•ImageProcessingToolbox——图象处理工具箱•NeuralNetworkToolbox——神经网络工具箱•OptimizationToolbox——优化工具箱•PartialDifferentialToolbox——偏微分方程工具箱•SignalProcessingToolbox——信号处理工具箱•SplineToolbox——样条工具箱•StatisticsToolbox——统计工具箱•SymbolicMathToolbox——符号数学工具箱•SimulinkToolbox——动态仿真工具箱•SystemIdentificationToolbox——系统辨识工具箱•WaveletToolbox——小波工具箱等等优化工具箱OptimizationToolbox•线型规划和二次规划•求函数的最大值和最小值•多目标优化•约束条件下的优化•非线型方程求解最优化方法专门研究如何从多个方案中科学合理地提取最优方案的科学。广泛应用与经济规划、经济管理、生产控制、土木工程、机械工程、运输调度等领域。信号处理工具箱SignalProcessingToolbox•数字和模拟滤波器设计、应用及仿真•谱分析和估计•FFT、DCT等变换•参数化模型学科前沿最新的工具箱模糊控制逻辑工具箱友好的交互设计界面,自适应神经-模糊学习、聚类以及Sugeno推理神经网络工具箱神经网络系统具有集体运算的能力和自适应的学习能力。具有很强的容错性和鲁棒性,善于联想、综合和推广。新增工具箱有:虚拟现实工具箱电力系统工具箱仪器仪表控制工具箱报告编辑工具箱工具箱的扩充功能:用户可以修改工具箱中的函数,更为重要的是用户可以通过编制m文件来任意地添加工具箱中原来没有的工具函数。此功能充分体现了matlab语言的开发性。二、通用工具箱1.Matlab主工具箱•前面课程所介绍的数值计算、符号运算、以及绘图都是matlab主工具箱的内容,是matlab的基本部分,也是我们课程的重点。•Matlab主工具箱位于:c:\matlab\toolbox\matlab•matlab主工具箱是任何版本的matlab都不可缺少的。1.6.1符号运算工具箱•主要功能以符号为对象的数学。•在大学教学中,符号数学是各专业都能用到的。•符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。•特点:运算对象可以是没赋值的符号变量可以获得任意精度的解符号运算的功能•符号表达式、符号矩阵的创建•符号可变精度求解•符号线性代数•因式分解、展开和简化•符号代数方程求解•符号微积分•符号微分方程符号微分方程求解符号微分方程求解指令:dsolve命令格式:s=dsolve(‘f1’,‘f2’,’g’,’x’)•f1,f2—微分方程,可多至12个微分方程的求解;g为初始条件•默认自变量为‘t',可任意指定自变量‘x','u'等•微分方程的各阶导数项以大写字母D表示dtdydxdy22dtydnndtyd22dxydnndxyd或或或y的一阶导数——Dyy的二阶导数——D2yy的n阶导数——Dny例1:解一阶微分方程,无初始条件dsolve('Dy=1+y^2')ans=tan(t+C1)21ydtdy有初始条件dsolve('Dy=1+y^2','y(0)=1')ans=tan(t+1/4*pi)例2:有初始条件的非线性微分方程x=dsolve('(Dx)^2+x^2=1','x(0)=0')x=[-sin(t)][sin(t)]1)(22xdtdx1,102tyydtdy给符号变量赋值symsyy=x(1)y=-sin(t)subs(y,0:pi/4:pi)ans=0-0.7071-1.0000-0.7071-0.0000SUBS(S,NEW)replacesthefreesymbolicvariableinSwithNEW.SUBS(S,OLD,NEW)replacesOLDwithNEWinthesymbolicexpressionS.练习:求微分方程的通解x2exydxdyxxyxdxdy2(2)2(1)222(1)y=dsolve('Dy=(x^2+y^2)/x^2/2','x')y=x*(log(x)-2-C1)/(log(x)-C1)(2)y=dsolve('Dy*x^2+2*x*y-exp(x)','x')y=1/x^2*exp(x)+1/x^2*C11(0)22yxydxdy,练习:求微分方程的特解y=dsolve('Dy=2*x*y^2','y(0)=1','x')y=-1/(x^2-1)例3:求二阶微分方程y=dsolve('D2y=cos(2*x)-y','y(0)=1','Dy(0)=0','x')0)0(1(0)2'22yyyxcosdxyd例4:求三阶微分方程u=dsolve('D3u=u','u(0)=1','Du(0)=-1','D2u(0)=pi','x')πuuudxud'''331)0(1(0)0,,y=(1/2*sin(x)+1/6*sin(3*x))*sin(x)+(1/6*cos(3*x)-1/2*cos(x))*cos(x)+4/3*cos(x)练习:求二阶微分方程dsolve('D2y=-a^2*y','y(0)=1','Dy(pi/a)=0')ans=cos(a*t)0)0(1(0)022'22yyydtdydtyd,,0)a(1(0)'222yyyadtyd,y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')y=exp(-t)*cos(t)+exp(-t)*sin(t)ezplot(y)例5:解微分方程组s=dsolve('Df=3*f+4*g','Dg=-4*f+3*g')s=f:[1x1sym]g:[1x1sym]gfdtdggfdtdf3443[f,g]=dsolve('Df=3*f+4*g,Dg=-4*f+3*g','f(0)=0,g(0)=1')10003443)(,)(gfgfdtdggfdtdf[f,g]=dsolve('Df=g-f+x^2,Dg=-2g-x','x')xxgdxdgxxfxgdxdf)()()(22求微分方程组的解12)4(0022vxaadtxd例:用微分方程的数值解法和符号解法解方程,并对结果进行比较。解:1.先将方程写成一阶微分方程令y(1)=x,y(2)=dx/dt,4)2()2()1(dtdyydtdy2.建立函数文件yjs.m并存盘functionydot=yjs(t,y)ydot=[y(2);4];3.调用函数文件解方程[T,Y]=ode23('yjs',[0:0.1:10],[2,1]);4.符号解法s=dsolve('D2x=4','x(0)=2','Dx(0)=1')plot(T,x,'r',T,Y(:,1),'p')symstx=subs(s,t,0:0.1:10)Bijiao.m1.6.1偏微分方程工具箱•工程中许多问题可以归结为偏微分方程问题,这些由偏微分方程及边界条件、初始条件等构成的数学模型,只有在十分特殊的条件下才能求得解析解。•随着计算机技术的发展,各种数值方法应运而生,如有限元法,有限差分法、拉格朗日元法等。利用数值法,可以求得这些问题的数值解。它不是问题的精确解,但可以无限接近精确解。•MATLAB采用有限元法求解偏微分方程的数值解。任意选取定解问题中参数的值,例如取μ=1,a=1,b=1事实上,这个问题是有解析解如下式(椭圆型)矩形区域的拉普拉斯方程该问题的公式为-ΔU=1边界上U=0。该问题的精确解为41),(22yxyxU(椭圆型)单位圆盘的泊松方程(抛物线型)受热金属块的热传导一块受热的有矩形裂纹的金属块,金属块的左侧被加热到100摄氏度,在右侧热量以恒定速率降低到周围空气中,其它边界独立。即:(1)u=100左侧(dirichilet条件)(2)u’=-10右侧(Neumann条件)(3)u’=0其它边界(Neumann条件)Rcdao.mu(0)=atan(cos(pi/2*x))dudt(0)=3*sin(pi*x).*exp(sin(pi/2*y))(双曲线型)方形薄膜的横向振动的波动方程方形薄膜左侧和右侧固定(u=0),前后两端自由(u’=0)初始条件:t=0作业:1.求微分方程的解2.用微分方程的数值解法和符号解法解方程,并对结果进行比较。3.演示p106页的例子。推荐书目:《数学物理方程的Matlab解法与可视化》彭芳麟清华大学出版社2(1)422yxydxdyx2(1)12yxyxdxdy1.在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。给每条曲线设置不同的颜色、线形,每个子图加上标题。x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);subplot(2,2,1);plot(x,y,'k:p');title('sin(x)');axis([0,2*pi,-1,1]);subplot(2,2,2);plot(x,z,'r*');title('cos(x)');axis([0,2*pi,-1,1]);subplot(2,2,3);plot(x,t,'g');title('tangent(x)');axis([0,2*pi,-40,40]);subplot(2,2,4);plot(x,ct);title('cotangent(x)');axis([0,2*pi,-40,40]);2、分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5xx=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0,7,0,2]);subplot(2,2,2);fill(x,y,'r');title('fill(x,y,''r'')');axis([0,7,0,2]);subplot(2,2,3);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0,7,0,2]);subplot(2,2,4);stem(x,y,'k');title('stem(x,y,''k'')');axis([0,7,0,2]);3.有一组测量数据满足,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线并加上图例框。t=0:0.5:10;y1=exp(-0.1*t);y2=exp(-0.2*t);y3=exp(-0.5*t);plot(
本文标题:MATLAB教程【9】工具箱
链接地址:https://www.777doc.com/doc-2882141 .html