
常微分方程
常微分方程

目录第一章理论部分1常微分方程数值解简介1.1欧拉方法1.2龙格-库塔方法?2Matlab简介62.1Matlab的主要特点2.2Matlab操作和桌面简介2.3Matlab图形功能.2.4Matlab的M文件设计.14第二章实验部分·181欧拉方法及其Matlab程序..1.1显式欧拉方法的Matlab程序181.2隐式欧拉方法的Matlab程序-181.3改进欧拉方法的Matlab程序·19232龙格-库塔方法及其Matlab程序.232.1二阶龙格--库塔方法及其Matlab程序2.2四阶龙格--库塔方法及其Matlab程序24
目 录 第一章 理论部分 1 常微分方程数值解简介 . 1 1.1 欧拉方法 . 1 1.2 龙格-库塔方法 . 3 2 Matlab 简介 . 6 2.1 Matlab 的主要特点 .6 2.2 Matlab 操作和桌面简介 .6 2.3 Matlab 图形功能 .9 2.4 Matlab 的 M 文件设计.14 第二章 实验部分 1 欧拉方法及其 Matlab 程序.18 1.1 显式欧拉方法的 Matlab 程序 .18 1.2 隐式欧拉方法的 Matlab 程序 .18 1.3 改进欧拉方法的Matlab程序 .19 2 龙格-库塔方法及其 Matlab 程序 .23 2.1 二阶龙格-库塔方法及其 Matlab 程序 .23 2.2 四阶龙格-库塔方法及其 Matlab 程序 .24

前言《常微分方程》是数学专业的学生必修的一门专业基础核心课,也是自然科学和工程技术各领域中应用广泛的数学工具。在常微分方程的教学中,主要集中于求解常微分方程的解析解,而在实际应用中有重大意义的许多微分方程,即使它们能满足非常广泛的解的存在唯一性条件,但它们的解常常不能表达成初等函数的形式即解析解。而对这类方程实际上也不需要精确的解析解,有时只需一些从初值出发的特殊点上的近似值,对这类问题的讨论最常用的方法就是数值积分,即对微分方程进行数值解。目前,各类教材中编写的数学软件应用主要集中于求微分方程的解析解,而对微分方程的数值解没有系统的阐述,出于此目的我们编写了本教材。本教材按照常微分方程实验课教学大纲的要求,在编写过程中,力求通过实验培养学生使用数学软件解决微分方程数值解的能力,使学生掌握软件的命令、功能、计算,把数学知识和科学计算软件有机的结合起来,给出问题的解决方案。本教材共有四章,分为两大部分:第一部分概括的讲述了微分方程的数值解的基本概念及Matlab数学软件。第二部分系统的讲述了Euler方法求微分方程的数值解以及Runge-Kutta方法求微分方程的数值解的Matlab程序。由于时间比较仓促,加之编者水平有限,在内容的取舍和安排上考虑不周之处一定会有,甚至缺点错误也在所难免,恩请同行和读者不各斧正。作者在撰写过程中,得到了内蒙古农业大学理学院领导和数学系领导的支持和帮助,作者在此致以衷心的谢意!编者2018年7月
前言 《常微分方程》是数学专业的学生必修的一门专业基础核心课,也是自然 科学和工程技术各领域中应用广泛的数学工具。在常微分方程的教学中,主要集 中于求解常微分方程的解析解,而在实际应用中有重大意义的许多微分方程,即 使它们能满足非常广泛的解的存在唯一性条件,但它们的解常常不能表达成初等 函数的形式即解析解。而对这类方程实际上也不需要精确的解析解,有时只需一 些从初值出发的特殊点上的近似值,对这类问题的讨论最常用的方法就是数值积 分,即对微分方程进行数值解。目前,各类教材中编写的数学软件应用主要集中 于求微分方程的解析解,而对微分方程的数值解没有系统的阐述,出于此目的, 我们编写了本教材。 本教材按照常微分方程实验课教学大纲的要求,在编写过程中,力求通过实 验培养学生使用数学软件解决微分方程数值解的能力,使学生掌握软件的命令、 功能、计算,把数学知识和科学计算软件有机的结合起来,给出问题的解决方案。 本教材共有四章,分为两大部分:第一部分概括的讲述了微分方程的数值解 的基本概念及 Matlab 数学软件。第二部分系统的讲述了 Euler 方法求微分方程的 数值解以及 Runge-Kutta 方法求微分方程的数值解的 Matlab 程序。 由于时间比较仓促,加之编者水平有限,在内容的取舍和安排上考虑不周之 处一定会有,甚至缺点错误也在所难免,恳请同行和读者不吝斧正。 作者在撰写过程中,得到了内蒙古农业大学理学院领导和数学系领导的支持 和帮助,作者在此致以衷心的谢意! 编者 2018 年 7 月

第一章 理论部分1常微分方程数值解简介[=f(x,y)初值问题(1)的数值解法,是通过微分方程离散化而给dx[y(a)=α出解在某些节点上的近似值。在[a,b]上引入节点()a=<x..<x,=b,h=x--(k=],,n)称为步长。在多数情况下,采用等步长,即h=-二,x=α+h(k=0.1,m)。n记初值问题的为准确解为(x),记(x)的近似值为yk,记f(xy)为f。1.1欧拉方法1.1.1显式欧拉方法设节点为α=x。<x<x,=b,初值问题(1)的显式欧拉方法为[ = a[yk+=yk+hk,=0,],..,n-1其中h=X+-X,=f(xk)。1.1.2隐式欧拉方法和梯形方法若将()在x+1展开y"(),x≤n≤Xk+y(x)= y(xk+1)-hf(Xk+1,(xk+1)+21忽略h?项,用ykyk+和fk+=f(xk1,yk+)分别近似(x),(xk+)及f(xk+1,(xk+)),可以得另一计算公式Yk1 = yx +h,f(xk+1,k+1),k=0,l,-.-,n-1称为隐式Enler方法。在显式和稳式Euler方法中,忽略的项都是h?项,为了得到更高精确度的方法,我们可将1y(5)h,X≤5k≤Xkly(Xk+1)= y(x)+ hef(xk+1,J(x))+ 21
1 第一章 理论部分 1 常微分方程数值解简介 初值问题 (, ) (1) ( ) dy f xy dx y a α ⎧ ⎪ = ⎨ ⎪ ⎩ = 的数值解法,是通过微分方程离散化而给 出解在某些节点上的近似值。 在[ ] a,b 上引入节点{ } 0 0 1 : n k n k x ax x x b = = <<< = " , 1( 1, , ) k kk hxxk n = − = − " 称为步长。在多数情况下,采用等步长,即 , x a kh(k 0,1 ,n) n b a h k = + = " − = 。 记初值问题的为准确解为 y(x),记 ( ) k y x 的近似值为 k y ,记 ( , ) k k f x y 为 k f 。 1.1 欧拉方法 1.1.1 显式欧拉方法 设节点为a = x0 < x1" < xn = b ,初值问题(1)的显式欧拉方法为 ⎩ ⎨ ⎧ = + = − = + , 0,1, , 1 1 0 y y h f k n y a k k k k " 其中 , ( , ) k k 1 k k k k h = x − x f = f x y + 。 1.1.2 隐式欧拉方法和梯形方法 若将 ( ) k y x 在 xk +1展开 1 1 () ( ) ( k k kk y x yx hf x = − + + , 2 1 1 ( )) ( ) , 2! k kk yx y h + + ′′ η k ≤ k ≤ k+1 x η x 忽 略 2 h 项,用 1 , k k+ y y 和 ( , ) k+1 = k+1 k+1 f f x y 分别近似 ( ) k y x , ( ) k+1 y x 及 ( , ( )) k+1 k+1 f x y x ,可以得另一计算公式 yk +1 = yk + hk f (xk +1 , yk+1 ), k = 0,1,",n −1 称为隐式 Enler 方法。 在显式和稳式 Euler 方法中,忽略的项都是 2 h 项,为了得到更高精确度的方 法,我们可将 1 2 1 1 ( ) , 2 1 ( ) ( ) ( , ( )) + + ≤ ≤ + = + + ′′ k k k k k k k k k k y x y x h f x y x y ξ h x ξ x

(x+1)= y(x)+hf(xk+),y(x+)-y"()h,≤n≤xk+1取平均得+()+()+)(y(Xk+1)= y(x) +当(x)三次连续可微时,y()-y"(n)=O(he)。忽略O(h)项,用yk,k分+(x)+())称为梯形方法。别近似y(x),(xk+1),得yk+1=yk+21.1.3改进欧拉方法在实际计算中,先用显式Euler方法所得的k为y(),再用梯形方法改进一次[Jk+ = y +hf(x,yk)[f(x,yx)+(x++,J+)Yk+I=yk +k=0,1,,n-1称为改进Euler方法,改进Euler方法还可写成:+()+(+()Yk+I = Yk2hkk,+hkk或k, =f(xk,yk)k, =f(xk+,y+hk,)Yk+l=y+02M21.1.4单步法的局部截断误差、整体截断误差设所用数值法为[y=α[yk+=yk+hd(x,yk,yk+1,h,),k=0,1..",n-1设(x)是(1)的准确解,称Tk+=(xk+1)-(x)-h(xk,(x),(xk+1),h)为此数值法在xk+的局部截断误差;称e=(x)-yk(k=0,l,,n)为此数值法在x点的整体截断误差;如果对充分小的h>0,x,=a+kh,成立maxly(x)-y|≤Chp(p≥1)常数C独立于h,就称此方法是p阶方法2
2 1 2 1 1 1 ( ) , 2 1 ( ) ( ) ( , ( )) + + + ≤ ≤ + = + − ′′ k k k k k k k k k k y x y x h f x y x y η h x η x 取平均得 [ ( ) ( )] 4 [ ( , ( )) ( , ( ))] 2 ( ) ( ) 2 1 1 1 k k k k k k k k k k y y h f x y x f x y x h y x + = y x + + + + + ′′ ξ − ′′ η 当 y(x)三次连续可微时, ) ( ) ( ) ( k k O hk y′′ ξ − y′′ η = 。忽略 ( ) 3 O hk 项,用 1 , k k+ y y 分 别近似 ( ), ( ) k k+1 y x y x ,得 [ ( , ) ( , )] 2 +1 = + k k + k+1 k+1 k k k f x y f x y h y y 称为梯形方法。 1.1.3 改进欧拉方法 在实际计算中,先用显式 Euler 方法所得的 k+1 y 为 (0) k+1 y ,再用梯形方法改进 一次 1 1 11 (, ) [ ( , ) ( , )], 2 0,1, , 1 k k kk k k kk k k y y hf x y h y y fx y fx y k n + + ++ ⎧ = + ⎪ ⎪ ⎨ =+ + ⎪ ⎪ = − ⎩ " 称为改进 Euler 方法,改进 Euler 方法还可写成: [ ( , ) ( , ( , ))] 2 1 k k k 1 k k k k k k k f x y f x y h f x y h y + = y + + + + 或 1 1 2 2 2 k h k h y y k k k + = k + + ) ( , 1 k k k = f x y ) ( , 2 1 1 k f x y h k = k+ k + k 1.1.4 单步法的局部截断误差、整体截断误差 设所用数值法为 ⎩ ⎨ ⎧ = + = − = + + ( , , , ), 0,1 , 1 1 1 0 y y h x y y h k n y k k kφ k k k k " α 设 y(x)是(1)的准确解,称 ) ( ) ( ) ( , ( ), ( ), k 1 k 1 k k k k k 1 hk y x y x h x y x y x + = + − − φ + τ 为此数值法在 k+1 x 的局部截断误差;称 ) ek = y(xk ) − yk (k = 0,1,",n 为此数值法在 k x 点的整体截断误差;如果对充分小的h 0, x a kh, > k = + 成立 max ( ) ( 1) 0 − ≤ ≥ ≤ ≤ y x y Ch p p k k k n 常数C 独立于h ,就称此方法是 p 阶方法

1.2龙格-库塔方法1.2.1泰勒方法设(1)的解y(x)充分光滑,xk+=x+h,利用泰勒展开有y(p+1)(R) hp+Iy(P"(x)hP +y(x*+1)= y(x)+ y(x)h+..X<5<Xk+Ip!(p+ 1)!yearv(p"hp若取yk+i=y+yh+..(0<k<n),就有hp+k+(p+1))p!因此,Taylor方法p阶方法。显式Euler方法是一阶Taylor方法。二阶Taylor方法为y=αh?Yk+I =ye+hf(xk,)+[f(x,ye)+f(x,y)f,(x,yk))2k=0,1,.,n-1b-这里采用了等步长,6x=a+kh,k=0,l,..,n.n1.2.2龙格-库塔方法的一般形式梯形方法和改进Euler方法,不需要计算f(x,y)的偏导数,也达到了二阶收敛。这启示我们,可以用f(x,)在一些点上值的线性组合来构造高阶单步法。这一类方法称为Runge-Kutta方法,用R个f值的Runge-Kutta方法,称为R级Runge-Kutta方法。一般显式R级Runge-Kutta方法为yk+=y+hd(xyk,h)其中25p(xk,yz,h)=Eck,,k =f(xxye),k, =f(x+a,h,ye+hb,k,),r=2,..,Rr=l5=其中的c.ab.均为独立常数。若取k,=f(x+a,h,yx+hbrk,),r=1,,R而且s≥r的b,不全零,对应的Runge-Kutta方法是隐式RX级Runge-Kutta方法。3
3 1.2 龙格-库塔方法 1.2.1 泰勒方法 设(1)的解 y(x)充分光滑, xk+1 = xk + h ,利用泰勒展开有 ( ) ( 1) 1 1 () () ( ) ( ) '( ) , ! ( 1)! p p k k p p k kk yx y yx yx y x h h h p p ξ + + + = + ++ + + " k < k < k+1 x ξ x 若取 (0 ) ! 1 ' ( ) 1 y h k n p y y y h p p k+ = k + k +"+ k ≤ < ,就有 1 ( 1) ( ) 1 ( 1)! + + + + = p p k h p y ξ k τ 因此,Taylor 方法 p 阶方法。 显式 Euler 方法是一阶 Taylor 方法。二阶 Taylor 方法为 0 2 1 ( , ) [ ( , ) ( , ) ( , )] 2 0,1, , 1 k k k k xk k k k yk k y h y y hf x y f x y f x y f x y k n α + ⎧ = ⎪ ⎪ ⎨ =+ + + ⎪ ⎪ = − ⎩ " 这里采用了等步长, , x a kh,k 0,1, ,n. n b a h k = + = " − = 1.2.2 龙格-库塔方法的一般形式 梯形方法和改进 Euler 方法,不需要计算 f (x, y) 的偏导数,也达到了二阶收 敛。这启示我们,可以用 f (x, y) 在一些点上值的线性组合来构造高阶单步法。 这一类方法称为 Runge-Kutta 方法,用 R 个 f 值的 Runge-Kutta 方法,称为 R 级 Runge-Kutta 方法。 一般显式 R 级 Runge-Kutta 方法为 ) ( , , yk +1 = yk + hφ xk yk h 其中 1 ( , ,) R k k rr r ϕ x y h ck = = ∑ , 1 (, ) k k k fx y = ,k f x a h y h b k r R r s r k r k rs s ( , ), 2, , 1 1 = + + ∑ = " − = 其中的 r ar brs c , , 均为独立常数。 若取 k f x a h y h b k r R R s r k r k rs s ( , ), 1, , 1 = + + ∑ = " = 而且s ≥ r 的brs不全零,对应的 Runge-Kutta 方法是隐式 R X 级 Runge-Kutta 方法

1.2.3常用低阶龙格-库塔方法一级显式Runge-Kutta方法为yk+=y+hc,k,当c,=1时为一阶方法,就是显式Runge-Kutta方法。一级显式Runge-Kutta方法是唯一的。考虑二级显式Runge-Kutta方法Yk+1 = yk +h(c,k, +c,k,)k, = f(xk,yr),kz=f(x+azh,yk+bakh)用f,f,f,等分别表示它们在(x,y)的值,有k,=f,hk,=f+ahf,+b,ffh+-(af+2ab2fmf+b2f2)+O(h3)2!=y+(c+c)fh+h(aCJ+b2C2ff,)与Taylor方法对照,要求C +C =11ac=21b2iC22!,得到常用的二阶Runge-Kutta公式:若取c,=0,C,=1,a,=b212Yk+I = yr+k,k =hf(xx,ye)h1k =hf(x+s+2=k)显式二级二阶Runge-Kutta方法不唯一。若取C=C2=a,=bs=1,对应计算公式为hr[f(x,y)+f(x+h,y+hf(xy)Yk+I = yh +这就是改进Euler方法。在显式三级Runge-Kutta方法中,待定参数共八个:C,C2,C3,a2,a,b21,b31,b32 A
4 1.2.3 常用低阶龙格-库塔方法 一级显式 Runge-Kutta 方法为 yk+1 =yk +hc1k1,当 时为一阶方法,就是显 c1 =1 式 Runge-Kutta 方法。一级显式 Runge-Kutta 方法是唯一的。 考虑二级显式 Runge-Kutta 方法 ( ), 1 1 1 2 2 y y h c k c k k+ = k + + ( , ), 1 k k k = f x y ( , ) k2 = f xk + a2h yk + b21k1h 用 , , x y f f f 等分别表示它们在( , ) k k x y 的值,有 k = f 1 , ( 2 ) 2! 2 2 2 21 21 2 2 2 2 2 21 a f a b f f b f f h k = f + a hf x + b ff yh + xx + xy + yy ( ) 3 + O h 2 1 2 2 2 21 2 () ( ) k xy =++ + + y c c fh h a c f b c ff 与 Taylor 方法对照,要求 1 2 2 2 21 2 1 1 2 1 2 c c a c b c ⎧ ⎪ + = ⎪ ⎪ ⎨ = ⎪ ⎪ = ⎪ ⎩ 若取 , 2 1 0, 1, c1 = c2 = a2 = b21 = 得到常用的二阶 Runge-Kutta 公式: 1 2 1 2 1 (, ) 1 (, ) 2 2 k k k k k k y yk k hf x y h k hf x y k + ⎧ ⎪ = + ⎪ ⎨ = ⎪ ⎪ = ++ ⎩ 显式二级二阶 Runge-Kutta 方法不唯一。 若取 , 1, 2 1 c1 = c2 = a2 = b21 = 对应计算公式为 [ ] ( , ) ( , ( , )) 2 k 1 k k k k k k k f x y f x h y hf x y h y + = y + + + + 这就是改进 Euler 方法。 在显式三级 Runge-Kutta 方法中,待定参数共八个: 1 2 3 2 3 21 31 32 c ,c ,c ,a ,a ,b ,b ,b

一个常用显式三级三阶方法是:Y+= yx+=(k +4k +kg)6k =hf(x,y)h[=(++)2[k, =hf(xx +h, yx-k +2k.)对于四级显式Runge-Kutta方法,类似的推导可以建立四阶方法。显式四阶四级Runge-Kutta方法不唯隹一,一个重要的代表是经典Runge-Kutta方法:1Jk1=yk+=(k+2k,+2k,+ka)6k,=hf(xk,yr)hk=hf(x++)2h5=h(++)k,=hf(x+h,y+k,)5
5 一个常用显式三级三阶方法是: 1 1 23 1 2 1 3 12 1 (4 ) 6 (, ) 1 (, ) 2 2 ( , 2) k k k k k k k k y y k kk k hf x y h k hf x y k k hf x h y k k + ⎧ =+ + + ⎪ ⎪ ⎪ = ⎨ ⎪ = ++ ⎪ ⎪ ⎩ = + −+ 对于四级显式 Runge-Kutta 方法,类似的推导可以建立四阶方法。显式四阶 四级 Runge-Kutta 方法不唯一,一个重要的代表是经典 Runge-Kutta 方法: 1 1 2 34 1 2 1 3 2 4 3 1 (22 ) 6 (, ) 1 (, ) 2 2 1 (, ) 2 2 (, ) k k k k k k k k k k y y k k kk k hf x y h k hf x y k h k hf x y k k hf x h y k + ⎧ =+ + + + ⎪ ⎪ ⎪ = ⎪⎪ ⎨ = ++ ⎪ ⎪ = ++ ⎪ ⎪ ⎪ = ++ ⎩

2MATLAB简介MATLAB是矩阵实验室(MatrixLaboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.当前流行的MATLAB5.3/Simulink3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能学科工具包是专业性比较强的工具包控制工具包,信号处理工具包,通信工具包等都属于此类2.1MATLAB的主要特点(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。(3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。(4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。(7)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能(8)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自已的文件构成新的工具箱。(9)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。2.2MATLAB操作桌面简介2.2.1启动MATLAB启动MATLAB有多种方法:方法一:点击桌面上的快捷方式或matlabl文件夹下的快捷方式图标。方法二:点击matlablbinlwin32文件夹下的matlab.exe。6
6 2 MATLAB 简介 MATLAB 是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计 算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时 控制等功能。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形 式十分相似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完相同的事情 简捷得多.当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包 和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能 工具包用来扩充 MATLAB 的符号计算,可视化建模仿真,文字处理及实时控制等 功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工 具包等都属于此类. 2.1 MATLAB 的主要特点 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB 程序书写形 式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的 编程工作 (2)运算符丰富。由于 MATLAB 是用 C 语言编写的,MATLAB 提供了和 C 语言几乎一样多的运算符,灵活使用 MATLAB 的运算符将使程序变得极为简短。 (3)MATLAB 既具有结构化的控制语句(如 for 循环,while 循环,break 语 句和 if 语句),又有面向对象编程的特性。 (4)程序限制不严格,程序设计自由度大。例如,在 MATLAB 里,用户无需 对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操 作系统上运行。 (6)MATLAB 的图形功能强大。在 FORTRAN 和 C 语言里,绘图都很不容易, 但在 MATLAB 里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界 面的能力。 (7)功能强大的工具箱是 MATLAB 的另一特色。MATLAB 包含两个部分: 核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又 分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计 算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能 (8)源程序的开放性。开放性也许是 MATLAB 最受人们欢迎的特点。除内部 函数以外,所有 MATLAB 的核心文件和工具箱文件都是可读可改的源文件,用 户可通过对源文件的修改以及加入自己的文件构成新的工具箱。 (9)MATLAB 的缺点是,它和其他高级程序相比,程序的执行速度较慢。由 于 MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行, 所以速度较慢。 2.2 MATLAB 操作桌面简介 2.2.1 启动 MATLAB 启动 MATLAB 有多种方法:方法一:点击桌面上的快捷方式或 matlab\文件 夹下的快捷方式图标。方法二:点击 matlab\bin\win32 文件夹下的 matlab.exe

这两种方法的当前目录不同。优先选用方法一。可见到如下交互界面(见图1):AATLARDD区EileEdit Yie YehWindow Help%?curert DirectoryMATLABBpsp1workO区Comme nd WindowWoreped国区Using Toolbow Path CacheType"helptoolbox.pathgach-"for.nHaneSizeBytes classTo get started, select "maTLAB Help'from the Help nenThe lement type "nanemust be terninated by the natchine end-tagCouldnotparseB:MATLAB6p5pltoolborlrtv/tareetslosekloseklinfo57>IAstartReady图2点击命令窗口右上角的可以从将指令窗从操作桌面独立出来,点击指令窗中Desktop菜单下的DockCommandwindow可以使指令窗嵌入回操作桌面。(2)工作间管理窗口(WorkspaceBrowser)--见图37
7 这两种方法的当前目录不同。优先选用方法一。 可见到如下交互界面(见图 1): 图 1 2.2.2 MATLAB 的桌面平台 (1)命令窗口(command window)-界面见图 2 图 2 点击命令窗口右上角的 可以从将指令窗从操作桌面独立出来,点击指令 窗中 Desktop 菜单下的 Dock Command window 可以使指令窗嵌入回操作桌面。 (2)工作间管理窗口(Workspace Browser)-见图 3