ODE45函数的使用——翻译

ODE45函数的使用——翻译
ODE45函数的使用——翻译

在Matlab 中使用ode45简介

Matlab 中常微分方程常用的函数是ODE45,这个函数能够利用--龙哥库塔法--有效求解带时间变量步长的计算。Ode45用于求解如下的一般问题:

)(()00,,x t x x t f dt dx

==(1)

其中,时间t 是独立变量,x 为时间相关矢量,)(x t f ,是时间t 和x 的函数。当(1)右边的)(x t f ,是固定的,且给定x 的初始值,那么问题的解是唯一的。

在ME175中,解法是不完整的,但是只要你解决了问题,就可以获得ODE 代表的系统运动趋势。这有利于得到一个直观的印象,看起来很复杂的常微分方程,代表的质点运动轨迹确实简单明了的。以下简要解释如何得到运动轨迹:

第一步:

对给定的ODE 方程进行降阶处理,得到一系列一阶方程

这就是你要做的第一步,在一张草稿纸上处理。例如,给定ODE 方程如下:

1,3,5002-===-+?

?

??y y y e y y m y (2)

对本问题,矢量x 有两个组成分量:y 和?

y ,或

()()?==y x y

x 21(3)

()()

()()()

()()()()()()

211251

221x e x m dt x d x dt

x d x +-==(4) 其中,用(3)中的式子代表了y ,?y ,?

?y ,于是把(2)改写为(4)。

如果求解的问题有更多阶数更多变量呢?例如,我们除了有上面的方程(2),同时还有以下的方程:

().1,0,sin 002233===-+?

z z t z dt z d dt z

d (5) 那么,我们可以通过构造更大的矢量x 同时求解y ,z :

()()()???

===z x z x z

x 543 (6)

然后

??

????=????z z z y y x ,,,, (7) 以及 [??

?==?

?=?==?==000000,,,,t t t t t t z z z y y x (8) 其中,y 变量和z 变量的放置位置对求解不造成影响。实际上,任意次序都是有效的,例如

??????=????z z y z y x ,,,, 和???????=????

??y y z z z x ,,,, 但是重要的是,在整个计算过程中,你使用的顺序都必须和一阶ODE 方程中定义的变量顺序相同。之后,如果你使用的是(7)中给定的的式子,那么系统的一阶ODE 方程,由以下方程组组成。

(10)

而涉及的表征变量??

????=????z z y z y x ,

,,,结果如下:

(11)

基本上,可以处理任意数量的高阶ODE 方程。重要的是把它们处理成多个一阶的ODE 方程,并且确保记住被求解的矢量X 中,不同变量所分配的顺序。

第二步 编写代码

既然你已经有所求解问题的一阶格式,在你编程的主要代码中,将会用到以下的命令

[]()options xinit tspan fname ode x t ,,,@45,=

·fname 是函数的M 文件名用于求解方程(1)右边代数式的值。这个函数将被输入一阶ODE 系统中,并且被积分(见(10),(11))。后面,将会更详细的解释。

注:当然关于ODE45如何积分给定的方程有细微的差别,但是对于简单的问题,不分先后次序的积分,是可以接受的。

·tspan 是矢量定义了积分的起始点和终点,同时也定义了时间步长。例如,我们需要积分t=0到t=10,希望步数是100步,那么tspan=[0:0.1:10]或者tspan=linspace (0,10,100).

·xinit 是初始条件矢量。确保初始值的顺序和给定的x 中变量和它倒数的顺序是一致的。同时注意如果x 有5个变量,那么同时要输入5个初始值。

·option 这个在matlab 的帮助文件中有很好的说明。对于大部分的问题,使用默认值就可以满足计算要求。

·t 是独立变量,计算数组x 在时间点t 的数值。这个矢量不必等于tspan ,ODE45自动调节步数以取得最大的效率和精确度。(在快速变化部分采用小步长,在变化缓慢部分采用大步长)。

·x 相关内容如下。X 是数组或矩阵,大小为length (t )*length (xinit )。每一列x 代表不

同的因变量。例如,??

????=????z z z y y x ,

,,,,为简单假定t=0,1,2....,10,将会计算函数在11个点的值。

(12)

如果?z 是x 的第四个变量,那么()4,1x 得到了?z 在t=0时候的值,()4,7x 得到了?

z 在t=6时候的值,()4,11x 得到了t=10时候的值。简而言之,

·()k x :,代表x 的第k 个变量,k=1与变量y 相关,k=2与变量?y 相关。

·():,j x 计算所有变量在某一时间点j 的数值 注:在产生hokey pokey 舞蹈前,史前儿童围坐在篝火前齐唱:

You put your left foot in

You put your left foot out'

You put your left foot in

And you shake it all about

当你使用matlab 函数ODE45及时完成作业时,x 就是要做得全部内容。

不幸的是由于缺乏matlab 软件,使得这本书过时了。

·()()时间,变量值x k j x ≡,

命令[]()options xinit tspan fname ode x t ,,,@45,=的作用是重新定义变量。、,然后,如果使用变量顺序为

??

????=????z z z y y x ,,,,,应该这么写程序:

[]()options xinit tspan fname ode x t ,,,@45,=

()

()

()

()

()5:,4:,3:,2:,1:,x zdotdot x zdot x z x ydot x y =====

当然,也不应该认为定义y ,ydot 麻烦。直接表达为x 的形式(例如,使用()1:,x 代表y ),清晰的定义方式有利于后面的调试。

以下,你将以(或是被要求)绘图的形式描述感兴趣的轨迹:质点随时间运动轨迹,在平面中表示角度和径向关系等。绘图和绘制子图的命令在matlab 帮助文件中有清晰的说明,这里不再详细说明。记住如果你想在一张图中放多个图,应该使用子图的概念,当然在一张图片中画多个图,不是一个好主意。别忘记给图加标签:包括标题,x 轴,y 轴的含义,如果多条曲线应该分别标明。

最后,请注意在[]()options xinit tspan fname ode x t ,,,@45,=中包含的仅仅是变量而已,依据自己的喜好使用字母,T 替换t ,x0替换xinit 都是可以的。只有记住使用新变量名,之后的每个引用都用一样的名称。

另一个普遍的错误在于,同一变量的重复定义。例如,定义()5:,x x =,如果足够幸运的话,会有错误警告;不幸的话,这种错误很难发现,要花数小时时间检查您的程序以解决问题。

此外,fname是什么呢?

回忆下,我们还没有告诉matlab程序应该对什么函数进行积分,是吧?这就是为什么需要fname文件,fname文件含有所有之前在稿纸上重写的ODE一阶函数。你可以对这个文件起

任意的名称,只要与[]()

,

@

t,

,=中使用的fname一致。

45

,

tspan

xinit

fname

ode

options

x

例如,你对fname取名superman那么

[]()

sup

,

@

45

,

,=是对的,而

options

tspan

xinit

erman

ode

x

t,

[]()

,

t,

,

@

45

,=就不正确了。

x

options

ode

xinit

batman

tspan

更进一步说,函数不必须像在原始代码中写的在同一个m文件中,一些人喜欢在程序末尾书写子程序,特别是代码不长,比较简单的时候。

例如,你的代码名称ME175example文件,那么m文件将如下:

Function dxdt=ME175example(t,x)

%这里t,x 和dxdt are 只是变量而已。你可以起任意名称

%只要t 是独立变量,而X是因变量

%dxdt 是推到的一阶因变量

% 定义常数

m= 1;

%定义变量使之清晰易懂

%Recall that x = [y, ydot, z, zdot, zdotdot]y=x(1);

ydot=x(2);

z=x(3);

zdot=x(4);

zdotdot=x(5);

%注意x仅仅是1列五行的数组

%[t,x] = ode45(@fname, tspan, xinit, options)

%数组dxdt与x的大小相同

dxdt = zeros(size(x));

dxdt(1) = ydot;

dxdt(2) = 1/m(5 x(2)exp(y) +y2) ; %This is ydotdot

dxdt(3) = zdot;

dxdt(4) = zdotdot;

dxdt(5) = t-zdotdot+sin(z); %This is zdotdotdot

%Note that the input arguments must be t and x (in that order) even in the case where t is not explicitly used in the function.

基本模板

以下是基本模板,当你想对一个高阶常微分方程进行积分时,把它复制黏贴到Matlab中Function 任何你想要的名字

%定义起始时间tstat,终止时间tend,时间步数n

Tstart=?;

Tend=?;

N=?;

Tspan=linspace(Tstart, Tend, N);

%定义初始值,确保正确的顺序

Xinit=[...; ...; ...; ...;...];

%获得矢量x 。把option 设置为默认值即可

[]()x init tspan @45,,积分函数,ode t x =

%定义输出变量

()

()2:,1:,x ydot x y ==

...

%所需要画图的函数 ()()??? ????? ???

?????y y y y t y t y ,,,

Subplot (?, ?, ?)

Plot(需要的图像)

%plot3()画3D 图

Title (' ')

Xlabel(' ')

Ylabel(' ')

Zlabel(' ')

-----------------------------------

%积分函数,可以作为独立m 文件,或在本程序底部,语法如下

Function dxdt=积分函数(t ,x )

%定义积分中使用的常数

%定义新变量;()

().

21etc x ydot x y ==

%也可以不定义,这样的好处是,便于其他人阅读你的程序

%写下你得到的一阶ODE 方程

dxdt=zeros (size (x ))

dxdt (1)=?;

dxdt (2)=?;

dxdt (3)=?;

Etc.

小结:

如果所有的步骤都对了,方程也是正确的。你将发现你的到的关系图是很优美的,不用你艰难的推到。干的好!

最后,同样地问题又多种不同的解法。多用matlab 尝试,你将有所发现,比起其他算法有

些算法非常有效率。我使用Matlab三年了,仍然可以发现很多新的有效的算法。总之,乐在其中。Despite what you think, MA TLABis not out to get you (it has it's hands full giving me a hard time)

感谢Nur Adila Faruk Senan 伯克利加利福尼亚大学机械工程系

您写的文档,对此帮助很大。

matlab ode4的用法

第11章积分和微分方程组 在有效的M A T L A B命令帮助下,可以求解出定积分和普通微分方程的数字解并绘制出其图形。 11.1 积分 在M A T L A B中能求解如下形式的定积分并给出数字解: 有许多方法都可以能够解决积分问题(又叫做求面积)。如果要用M A T L A B监控整个计算过程,可以使用q u a d命令。同样能计算出被积函数g的值,并且让M A T L A B使用梯形规则和t r a p z命令计算出积分。当只有离散的数据点和被积函数的数学表达式为未知时,这种方法是非常有效的。 命令集1 07定积分计算 t r a p z(x,y)计算出函数x的积分并将结果返回到y。向量x和y有相同的长度, (xi, yi)代表曲线上的一点。曲线上点的距离不一定相等,x值也 不一定有序。然而,负值间距和子区间被认为是负值积分。 t r a p z(y)计算方法同上,但x值间隔为1。 t r a p z(x,A)将A中每列的值带入x的函数算出其积分,并返回一组包含 积分结果的向量。A的列向量必须和向量x的长度相同。 Z =t r a p z(x,A,d i m)在矩阵A中d i m指定的维内进行数据积分。如果给定向量x, 则x的长度必须与size(A, dim)相同。 c u m t r a p z(A, d i m)返回大小和A相同的数组,包含的是将矩阵A进行梯形积分 的累积值。如果d i m已给定,则在d i m维内进行计算。 q u a d(f c n,a,b)返回在区间[a, b]上g的积分近似值。字符串f c n包含一个与g相 对应的M A T L A B函数名,也就是预定义函数或者是M文件。 这个函数接收一个向量参数,并返回一个向量结果。 M AT L A B利用辛普森规则执行递归的积分,计算误差为10-3。 q u a d(f c n,a,b,t o l)求g的积分近似值,其相对误差由参数t o l定义。否则,计算 过程同上。 quad(fcn,a b,tol,求g的积分近似值,其相对误差由参数t o l所定义。如果参数 p i c)p i c是非零值,则在图形中显示求值的点。 q u a d(. .., t r a c e)如果t r a c e是非零值,则画出积分图形。

(完整版)复变函数知识点梳理解读

第一章:复数与复变函数 这一章主要是解释复数和复变函数的相关概念,大部分内容与实变函数近似,不难理解。 一、复数及其表示法 介绍复数和几种新的表示方法,其实就是把表示形式变来变去,方便和其他的数学知识联系起来。 二、复数的运算 高中知识,加减乘除,乘方开方等。主要是用新的表示方法来解释了运算的几何意义。 三、复数形式的代数方程和平面几何图形 就是把实数替换成复数,因为复数的性质,所以平面图形的方程式二元的。 四、复数域的几何模型——复球面 将复平面上的点,一一映射到球面上,意义是扩充了复数域和复平面,就是多了一个无穷远点,现在还不知道有什么意义,猜想应该是方便将微积分的思想用到复变函数上。 五、复变函数 不同于实变函数是一个或一组坐标对应一个坐标,复变函数是一组或多组坐标对应一组坐标,所以看起来好像是映射在另一个坐标系里。 六、复变函数的极限和连续性 与实变函数的极限、连续性相同。 第二章:解析函数

这一章主要介绍解析函数这个概念,将实变函数中导数、初等函数等概念移植到复变函数体系中。 一、解析函数的概念 介绍复变函数的导数,类似于实变二元函数的导数,求导法则与实变函数相同。 所谓的解析函数,就是函数处处可导换了个说法,而且只适用于复变函数。而复变函数可以解析的条件就是:μ对x与ν对y的偏微分相等且μ对y和ν对x的偏微分互为相反数,这就是柯西黎曼方程。二、解析函数和调和函数的关系 出现了新的概念:调和函数。就是对同一个未知数的二阶偏导数互为相反数的实变函数。而解析函数的实部函数和虚部函数都是调和函数。而满足柯西黎曼方程的两个调和函数可以组成一个解析函数,而这两个调和函数互为共轭调和函数。 三、初等函数 和实变函数中的初等函数形式一样,但是变量成为复数,所以有一些不同的性质。 第三章:复变函数的积分 这一章,主要是将实变函数的积分问题,在复变函数这个体系里进行了系统的转化,让复变函数有独立的积分体系。但是很多知识都和实变函数的知识是类似的。可以理解为实变函数积分问题的一个兄弟。 一、复积分的概念 复积分就是复变函数的积分,实质是两个实二型线积分。所以应该具有相应的实二型线积分的性质。复积分存在的充分条件是实部函数和虚部函数都连续。 二、柯西积分定理

ODE45函数的使用翻译

在Matlab 中使用ode45简介 Matlab 中常微分方程常用的函数是ODE45,这个函数能够利用--龙哥库塔法--有效求解带时间变量步长的计算。Ode45用于求解如下的一般问题: )(()00,,x t x x t f dt dx ==(1) 其中,时间t 是独立变量,x 为时间相关矢量,)(x t f ,是时间t 和x 的函数。当(1)右边的)(x t f ,是固定的,且给定x 的初始值,那么问题的解是唯一的。 在ME175中,解法是不完整的,但是只要你解决了问题,就可以获得ODE 代表的系统运动趋势。这有利于得到一个直观的印象,看起来很复杂的常微分方程,代表的质点运动轨迹确实简单明了的。以下简要解释如何得到运动轨迹: 第一步: 对给定的ODE 方程进行降阶处理,得到一系列一阶方程 这就是你要做的第一步,在一张草稿纸上处理。例如,给定ODE 方程如下: 1,3,5002-===-+? ???y y y e y y m y (2) 对本问题,矢量x 有两个组成分量:y 和?y ,或 ()()?==y x y x 21(3) 且 ()()()()()()()()()()() 211251221x e x m dt x d x dt x d x +-==(4) 其中,用(3)中的式子代表了y ,? y ,? ?y ,于是把(2)改写为(4)。

如果求解的问题有更多阶数更多变量呢?例如,我们除了有上面的方程(2),同时还有以下的方程: ().1,0,sin 002233===-+?z z t z dt z d dt z d (5) 那么,我们可以通过构造更大的矢量x 同时求解y ,z : ()()()? ??===z x z x z x 543 (6) 然后 ??????=????z z z y y x ,,,, (7) 以及 [?? ?==??=?==?==000000,,,,t t t t t t z z z y y x (8) 其中,y 变量和z 变量的放置位置对求解不造成影响。实际上,任意次序都是有效的,例如 ??????=????z z y z y x ,,,, 和???????=? ?????y y z z z x ,,,, 但是重要的是,在整个计算过程中,你使用的顺序都必须和一阶ODE 方程中定义的变量顺序相同。之后,如果你使用的是(7)中给定的的式子,那么系统的一阶ODE 方程,由以下方程组组成。

(完整版)复变函数试题库

《复变函数论》试题库 梅一A111 《复变函数》考试试题(一) 1、 =-?=-1||0 0)(z z n z z dz __________.(n 为自然数) 2. =+z z 2 2cos sin _________. 3.函数z sin 的周期为___________. 4.设 11 )(2+= z z f ,则)(z f 的孤立奇点有__________. 5.幂级数 n n nz ∞ =∑的收敛半径为__________. 6.若函数f(z)在整个平面上处处解析,则称它是__________. 7.若ξ=∞→n n z lim ,则=+++∞→n z z z n n ...lim 21______________. 8.= )0,(Re n z z e s ________,其中n 为自然数. 9. z z sin 的孤立奇点为________ . 10.若0z 是 )(z f 的极点,则___ )(lim 0 =→z f z z . 三.计算题(40分): 1. 设 )2)(1(1 )(--= z z z f ,求)(z f 在} 1||0:{<<=z z D 内的罗朗展式. 2. .cos 1 1||?=z dz z 3. 设 ? -++=C d z z f λ λλλ1 73)(2,其中 }3|:|{==z z C ,试求).1('i f + 4. 求复数 11 +-= z z w 的实部与虚部. 四. 证明题.(20分) 1. 函数 )(z f 在区域D 内解析. 证明:如果|)(|z f 在D 内为常数, 那么它在 D 内为常数. 2. 试证 : ()f z = 在割去线段0Re 1z ≤≤的z 平面内能分出两 个单值解析分支, 并求出支割线0Re 1z ≤≤上岸取正值的那支在1z =-的值.

Matlab中龙格-库塔(Runge-Kutta)方法原理及实现

函数功能编辑本段回目录 ode是专门用于解微分方程的功能函数,他有ode23,ode45,ode23s等等,采用的是Runge-Kutta算法。ode45表示采用四阶,五阶runge-kutta单步算法,截断误差为(Δx)3。解决的是Nonstiff(非刚性)的常微分方程.是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,换用ode23来解. 使用方法编辑本段回目录 [T,Y] = ode45(odefun,tspan,y0) odefun 是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名 tspan 是区间[t0 tf] 或者一系列散点[t0,t1,...,tf] y0 是初始值向量 T 返回列向量的时间点 Y 返回对应T的求解列向量 [T,Y] = ode45(odefun,tspan,y0,options) options 是求解参数设置,可以用odeset在计算前设定误差,输出参数,事件等 [T,Y,TE,YE,IE] =ode45(odefun,tspan,y0,options) 在设置了事件参数后的对应输出 TE 事件发生时间 YE 事件解决时间 IE 事件消失时间 sol =ode45(odefun,[t0 tf],y0...) sol 结构体输出结果 应用举例编辑本段回目录 1 求解一阶常微分方程

程序: 一阶常微分方程 odefun=@(t,y) (y+3*t)/t^2; %定义函数 tspan=[1 4]; %求解区间 y0=-2; %初值 [t,y]=ode45(odefun,tspan,y0); plot(t,y) %作图 title('t^2y''=y+3t,y(1)=-2,1

ODE45函数的使用——翻译

O D E45函数的使用— —翻译 -CAL-FENGHAI.-(YICAI)-Company One1

在Matlab 中使用ode45简介 Matlab 中常微分方程常用的函数是ODE45,这个函数能够利用--龙哥库塔法--有效求解带时间变量步长的计算。Ode45用于求解如下的一般问题: )(()00,,x t x x t f dt dx ==(1) 其中,时间t 是独立变量,x 为时间相关矢量,)(x t f ,是时间t 和x 的函数。当 (1)右边的)(x t f ,是固定的,且给定x 的初始值,那么问题的解是唯一的。 在ME175中,解法是不完整的,但是只要你解决了问题,就可以获得ODE 代表的系统运动趋势。这有利于得到一个直观的印象,看起来很复杂的常微分方程,代表的质点运动轨迹确实简单明了的。以下简要解释如何得到运动轨迹: 第一步: 对给定的ODE 方程进行降阶处理,得到一系列一阶方程 这就是你要做的第一步,在一张草稿纸上处理。例如,给定ODE 方程如下: 1,3,5002-===-+? ???y y y e y y m y (2) 对本问题,矢量x 有两个组成分量:y 和?y ,或 ()()?==y x y x 21(3) 且 ()()()()()()()()()()() 211251221x e x m dt x d x dt x d x +-==(4) 其中,用(3)中的式子代表了y ,?y ,? ?y ,于是把(2)改写为(4)。 如果求解的问题有更多阶数更多变量呢?例如,我们除了有上面的方程(2),同时还有以下的方程: ().1,0,sin 002233===-+?z z t z dt z d dt z d (5) 那么,我们可以通过构造更大的矢量x 同时求解y ,z :

matlab ode45和矩阵生成有向网络图

Matlab中解常微分方程的ode45 ode是专门用于解微分方程的功能函数,他有ode23,ode45,ode23s等等,采用的是Runge-Kutta算法。ode45表示采用四阶,五阶runge-kutta单步算法,截断误差为(Δx)^3。解决的是Nonstiff(非刚性)的常微分方程.是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,换用ode23来解.其他几个也是类似的用法 使用方法 [T,Y] = ode45(odefun,tspan,y0) odefun 是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名 tspan 是区间 [t0 tf] 或者一系列散点[t0,t1,...,tf] y0 是初始值向量 T 返回列向量的时间点 Y 返回对应T的求解列向量 [T,Y] = ode45(odefun,tspan,y0,options) options 是求解参数设置,可以用odeset在计算前设定误差,输出参数,事件等 [T,Y,TE,YE,IE] =ode45(odefun,tspan,y0,options) 每组(t,Y)之产生称为事件函数。每次均会检查是否函数等于零。并决定是否在零时终止运算。这可以在函数中之特性上设定。例如以events 或@events产生一函数。[value, isterminal,direction]=events(t,y)其中,value(i)为函数之值,isterminal(i)=1时运算在等于零时停止,=0时继续;direction(i)=0时所有零时均需计算(默认值),+1在事件函数增加时等于零,-1在事件函数减少时等于零等状况。此外,TE, YE, IE则分别为事件发生之时间,事件发生时之答案及事件函数消失时之指针i。 sol =ode45(odefun,[t0 tf],y0...) sol 结构体输出结果 应用举例 1 求解一阶常微分方程 程序: ) (y+3*t)/t^2; %定义函数 tspan=[1 4]; %求解区间 y0=-2; %初值 [t,y]=ode45(odefun,tspan,y0); plot(t,y) %作图 title('t^2y''=y+3t,y(1)=-2,1

(完整版)【工程数学】复变函数复习重点

复变函数复习重点 (一)复数的概念 1.复数的概念:z x iy =+,,x y 是实数, ()()Re ,Im x z y z ==.21i =-. 注:一般两个复数不比较大小,但其模(为实数)有大小. 2.复数的表示 1) 模:z = 2)幅角:在0z ≠时,矢量与x 轴正向的夹角,记为()Arg z (多值函数); 主值()arg z 是位于(,]ππ-中的幅角。 3)()arg z 与arctan y x 之间的关系如下: 当0,x > arg arctan y z x =; 当0,arg arctan 0,0,arg arctan y y z x x y y z x ππ? ≥=+??

(完整版)《复变函数》教学大纲

《复变函数》教学大纲 说明 1.本大纲适用数学与应用数学本科教学 2.学科性质: 复变函数论是成人高等师范数学专业基础课程之一,它在微分方程、概率论、力学等学科中都有应用,复变函数论方法是工程、科技的常用方法之一。复变函数论主要研究解析函数。解析函数定义的几种等价形式,表现了解析函数这一概念在不同方面的特性。复变函数论的基本理论以柯西定理为主要定理,柯西公式为重要公式,留数基本定理是柯西定理的推广。保形映照是复变函数几何理论的基本概念。;留数理论和保形映照也为实际应用提供了特有的复变函数论方法。 3.教学目的: 复变函数论是微积分学在复数域上的推广和发展,通过复变函数论的学习能使学生对微积分学的某些内容加深理解,提高认识。复变函数论在联系和指导中学数学教学方面也有重要的作用,学生通过复变函数论的学习对中学数学的某些知识有比较透彻的理解与认识,从而增加做好中学数学教育工作的能力。 4.教学基本要求: 通过本课程的学习,要求学生达到: 1.握基本概念和基本理论; 2.熟练的引进基本计算(复数、判断可导性及解析性、复积分、函数 的展式、孤立奇点的判断、留数的计算及应用、求线性映照及简单映 照等); 2.固和加深理解微积分学的有关知识。 5.教学时数分配: 本课程共讲授72学时(包括习题课),学时分配如下表: 教学时数分配表

以上是二年制脱产数学本科的教学时数。函授面授学时不低于脱产的40%,可安排28~30学时。 教学内容 第一章复数与复变函数 复变函数的自变量和因变量都是复数,因此,复数和平面点集是研究复变函数的基础。复变函数及其极限理论与微积分学的相应内容类似,但因复变函数是研究平面上的问题,因此有其新的含义与特点。 (一)教学内容

【华南师范大学】复变函数(级数、留数)含答案

2011/2012学年(一)学期月考试卷 《复变函数》试卷参考答案 专业 电子信息工程 年级2010班级 姓名 学号 一、填空题(每小题3分,共15分): 1、设),2)(32(i i z +--=则arg z =8arctan -π 2、设C 为正向圆周2ξ=,3sin() () C f z d z π ζζζ=-?,其中2z <,则1'()f =i 32π 3、积分 ||7 11cos z z dz z =+=-? .12i π 解: 11cos z z +-在圆周7z =内部有三个孤立奇点1230,2,2z z z ππ===- 24222111111 11cos () 1(1)2!4!2!4! z z z z z z z z z z z ?++++= =?=?---++-+ 因为2 12!4! z -+ 为复平面内的收敛幂级数,和函数()z ?是解析的,并且在0z =处 不等于零,所以 1 () z ?在0z =处解析,可以展开为0z =处的泰勒级数。又因为它是偶函数,泰勒级数中必不含z 的奇次幂项,所以可以写成24242c z c z +++ ,故 242422221122(2)1cos z z c z c z c c z z z z z ++=?+++=++++- , 1Re [,0]21cos z s z +=- 242 22211111 (2)(2)1(2)1cos 1cos(2) (2)1[1]2!4!2!4! 1112(2)1(2)(2)(2)(2) z z z z z z z z z z z z z z z z ππππππππ?ππ?π++++== =? ---------++-++++-=?=?----

ODE45的意义

matlab ode45 解微分方程 在用odesolver(ode45, ode15s, …)来解微分方程的时候,最基本的用法是: [t, y] = odesolver(odefun, tspan, y0); 这里的odefun是待求的微分方程。那么odefun中一般会含有多个系统参数,通常要通过改变参数来观察系统动态的变化。那么如何在调用odesolver的时候传递参数呢? 以前,我都是用全局变量的写法,将参数在主函数和子函数中分别都定义为global,这样做有一个弱点:针对系统不同,参数的表达与数量有变化的时候,程序通常要做变化,通用性不强。那么最好是在调用的时候进行传递,方法如下: 实际上很简单,就是将一切其他的参数都写在括号中就可以了!但是要注意的是:odesolver的第四个参数一定是options,也就是对微分方程添加补充功能的参数(类型为structure,要用odeset来定义),那么其他系统参数就只能从第五个参数写起。也就是说,第四个参数不可以为空,一定要定义某种option加进去,或者用使用空白矩阵(placeholder)。这样调用的时候格式就是: [t, y] = odesolver(odefun, tspan, y0, options, parameter1, parameter2); 或者 [t, y] = odesolver(odefun, tspan, y0, [], parameter1, parameter2); 然后定义微分方程的时候也要有参数的地方: function dydt = odefun(t, y, parameter1, parameter2) dydt = [ eqn-1; eqn-2; …]; 就OK了。 另一种用法: [T,Y] = ode45(@(t,y) rigid(t,y,Lambda,Lami,Cs,ionization,Ed),[0 100],[PHI_0,E_0,M_0,Gma_0],options); Lambda,Lami,Cs,ionization,Ed是参数之前有声明t y是变量 ,[PHI_0,E_0,M_0,Gma_0],是初始值 -------------------------------------------------- function dy = rigid(t,y,Lambda,Lami,Cs,ionization,Ed) dy = zeros(4,1); % a column vector dy(1) = y(2); dy(2) = exp(y(1))-y(3)/y(4); dy(3)=Lambda*ionization/Cs*exp(y(1)); dy(4) = -y(4)*Lambda/Lami-Lambda*ionization/Cs-y(2)/y(4)-Ed/y(4); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [t,H]=ode45('solitiontry1',tspan,h0,[],m1,epsinon) —————————————————————————————— function solfi=solitiontry1(t,H,flag,m1,epsinon) %m1=1.15; y=(1-epsinon)*(1-exp(H))+epsinon*m1^2*(1-sqrt(1+2*H*m1^-2))+m1^2*(1-sqrt(1-2*H*m1^-2)); solfi=-sqrt(-2*y); ;;注意前面两个函数之间的区别,第二个多了一股flag参数。应该是针对options为空的那个参数的,但是在这里,如果options不为空的话,还不知道有什么区别。

复变函数与积分变换重要知识点归纳

复变函数与积分变换重 要知识点归纳 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

复变函数复习重点 (一)复数的概念 1.复数的概念:z x iy =+,,x y 是实数, ()()Re ,Im x z y z ==.21i =-. 注:一般两个复数不比较大小,但其模(为实数)有大小. 2.复数的表示 1 )模:z = 2)幅角:在0z ≠时,矢量与x 轴正向的夹角,记为()Arg z (多值函数);主值()arg z 是位于(,]ππ-中的幅角。 3)()arg z 与arctan y x 之间的关系如下: 当0,x > arg arctan y z x =; 当0,arg arctan 0,0,arg arctan y y z x x y y z x ππ? ≥=+??

Matlab解微分方程(ODE+PDE)

常微分方程: 1 ODE解算器简介(ode**) 2 微分方程转换 3 刚性/非刚性问题(Stiff/Nonstiff) 4 隐式微分方程(IDE) 5 微分代数方程(DAE) 6 延迟微分方程(DDE) 7 边值问题(BVP) 偏微分方程(PDEs)Matlab解法 偏微分方程: 1 一般偏微分方程组(PDEs)的命令行求解 2 特殊偏微分方程(PDEs)的PDEtool求解 3 陆君安《偏微分方程的MATLAB解法 先来认识下常微分方程(ODE)初值问题解算器(solver) [T,Y,TE,YE,IE] = odesolver(odefun,tspan,y0,options) sxint = deval(sol,xint) Matlab中提供了以下解算器: 输入参数: odefun:微分方程的Matlab语言描述函数,必须是函数句柄或者字符串,必须写成Matlab

规范格式(也就是一阶显示微分方程组),这个具体在后面讲解 tspan=[t0 tf]或者[t0,t1,…tf]:微分变量的范围,两者都是根据t0和tf的值自动选择步长,只是前者返回所有计算点的微分值,而后者只返回指定的点的微分值,一定要注意对于后者tspan必须严格单调,还有就是两者数据存储时使用的内存不同(明显前者多),其它没有任何本质的区别 y0=[y(0),y’(0),y’’(0)…]:微分方程初值,依次输入所有状态变量的初值,什么是状态变量在后面有介绍 options:微分优化参数,是一个结构体,使用odeset可以设置具体参数,详细内容查看帮助 输出参数: T:时间列向量,也就是ode**计算微分方程的值的点 Y:二维数组,第i列表示第i个状态变量的值,行数与T一致 在求解ODE时,我们还会用到deval()函数,deval的作用就是通过结构体solution计算t 对应x值,和polyval之类的很相似! 参数格式如下: sol:就是上次调用ode**函数得道的结构体解 xint:需要计算的点,可以是标量或者向量,但是必须在tspan范围内 该函数的好处就是如果我想知道t=t0时的y值,不需要重新使用ode计算,而直接使用上次计算的得道solution就可以 [教程] 微分方程转换为一阶显示微分方程组方法 好,上面我们把Matlab中的常微分方程(ODE)的解算器讲解的差不多了,下面我们就具体开始介绍如何使用上面的知识吧! 现实总是残酷的,要得到就必须先付出,不可能所有的ODE一拿来就可以直接使用,因此,在使用ODE解算器之前,我们需要做的第一步,也是最重要的一步,借助状态变量将微分

复变函数与积分变换重要知识点归纳

复变函数与积分变换重要知 识点归纳 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

复变函数复习重点 (一)复数的概念 1.复数的概念:z x iy =+,,x y 是实数, ()()Re ,Im x z y z ==.21i =-. 注:一般两个复数不比较大小,但其模(为实数)有大小. 2.复数的表示 1 )模:z = 2)幅角:在0z ≠时,矢量与x 轴正向的夹角,记为()Arg z (多值函数);主值()arg z 是位于(,]ππ-中的幅角。 3)()arg z 与arctan y x 之间的关系如下: 当0,x > arg arctan y z x =; 当0,arg arctan 0,0,arg arctan y y z x x y y z x ππ? ≥=+??

复变函数科普知识

复变函数科普知识 1.简介复数的概念起源于求方程的根,在二次、三次代数方程的求根中就出现 了负数开平方的情况。在复变函数 复变函数很长时间里,人们对这类数不能理解。但随着数学的发展,这类数的重要性就日益显现出来。复数的一般形式是:a+bi,其中i是虚数单位。 2.历史复变函数 复变函数复变函数论产生于十八世纪。1774年,欧拉在他 的一篇论文中考虑了由复变函数的积分导出的两个方程。而比他更早时,法国数学家达朗贝尔在他的关于流体力学的论文中,就已经得到了它们。因此,后来人们提到这两个方程,把它们叫做“达朗贝尔-欧拉方程”。到了十九世纪,上述两个方程在柯西和黎曼研究流体力学时,作了更详细的研究,所以这两个方程也被叫做“柯西-黎曼条件”。 复变函数论的全面发展是在十九世纪,就像微积分的直接扩展统治了十八世纪的数学那样,复变函数这个新的分支统治了十九世纪的数学。当时的数学家公认复变函数论是最丰饶的数学分支,并且称为这个世纪的数学享受,也有人称赞它是抽象科学中最和谐的理论之一。 为复变函数论的创建做了最早期工作的是欧拉、达朗贝尔,法国的拉普拉斯也随后研究过复变函数的积分,他们都是创建这门学科的先驱。 后来为这门学科的发展作了大量奠基工作的要算是柯西、黎曼和德国数学家维尔斯特拉斯。二十世纪初,复变函数论又有了很大的进展,维尔斯特拉斯的学生,瑞典数学家列夫勒、法国数学家彭加勒、阿达玛等都作了大量的研究工作,开拓了复变函数论更广阔的研究领域,为这门学科的发展做出了贡献。 复变函数论在应用方面,涉及的面很广,有很多复杂的计算都是用它来解决的。比如物理学上有很多不同的稳定平面场,所谓场就是每点对应有物理量的一个区域,对它们的计算就是通过复变函数来解决的。 比如俄国的茹柯夫斯基在设计飞机的时候,就用复变函数论解决了飞机机翼的结构问题,他在运用复变函数论解决流体力学和航空力学方面的问题上也做出了贡献。 复变函数论不但在其他学科得到了广泛的应用,而且在数学领域的许多分支也都应用了它的理论。它已经深入到微分方程、积分方程、概率论和数论等学科,对它们的发展很有影响。 广义解析函数的应用范围很广泛,不但应用在流体力学的研究方面,而且象薄壳理论这样的固体力学部门也在应用。因此,近年来这方面的理论发展十分迅速。从柯西算起,复变函数论已有170多年的历史了。它以其完美的理论与精湛的技巧成为数学的一个重要组成部分。它曾经推动过一些学科的发展,并且常常作为

如何使用ODE45

如何使用ODE45 在MATLAB 中ode23,ode45,ode113,ode15s,ode23s,ode23t,ode23tb 等函数都是用来解决常微分方程的初值问题。根据MATLAB 的帮助文档,应优先尝试使用ODE45求解器。 之一。 相关参数介绍如下:参数名称 参数说明odefun 用于存放待求解的方程的m 文件名,方程必须用y’=f(t,y)的形式存放tspan 指定自变量范围的向量,通常用[t0tf]指定y0 函数的边界条件,即y0=y(t0),对于方程组,y0也可以是向量options 设置求解的相关选项,可以使用odeset 函数创建选项 下面看一个简单的例子: 求解方程:'1,(1)1y y y t ?==在14t ≤≤的解事实上这个微分方程可以采用一般的公式求解,其理论解为(ln 1)y t t =+,下面用ODE45来求解。 可以验证和实际的函数图形是很接近的,方法如下:

蓝色的线条是真实函数的曲线,而红色的点是数值计算的结果,可见两者符合的很好。下面是一个比较复杂一点的方程,所谓的复杂是说用理论方法很难求解的: 求微分方程2 32,(1)2y yt y t y t ′=+++=?在14t ≤≤时的数值解 首先要将方程改写为:22 32y y y t t t t ′= +++ 另外,也可以求微分方程组的问题,例如Matlab 帮助文档中提供的一个例子:

求方程组'123 '213 '3220.51y y y y y y y y y ==?=?在满足初值条件123(0)0,(0)1,(0)1y y y ===时的数值解 对于二阶微分方程,基本原理是一样的,但是M 文件却有很大的不同。 二阶常微分方程的一般形式为: 0001 ''()'()(),(),'()y p t y q t y g t y t y y t y ++===下面的一个例子将做出说明。

复变函数与积分变换期末考试复习知识点

复习要点 一题型 1、填空题(每题3分,共18分) 2、单项选择题(每题3分,共21分) 3、计算题(每题6分,共36分) 4、解答题(4小题,共25分) 二知识点 第一章复数与复变函数 1、会求复数的各种表示式(一般式、三角式、指数式)。 一般式:z=x+yi 三角式:z=r(cosθ+isinθ) 指数式:z=re iθ 2、会求复数(各种表示式)的模、辐角、辐角主值。 3、掌握复数的四则运算、共轭运算、乘幂运算、方根运算。 4、理解区域、有界域、无界域、单连通域与多连通域等概念。 5、会用复变数的方程来表示常用曲线及用不等式表示区域。 6、理解复变函数的概念。 7、了解复变函数的极限与连续性的概念,会求常见的复变函数的极限。 例:1.1;1.2 习题一:1.2(2)(3);1.3;1.5 第二章解析函数 1、理解可导与解析的联系与区别(在一点;在一个区域)。 对于点:解析→可导→连续对于区域:解析?可导 2、会判别常见函数的解析性,会求常见函数的奇点。

3、了解柯西—黎曼方程。 4、掌握各类初等函数(指数函数、对数函数、幂函数、三角函数)的定义、性质。 例:1.4;2.1;3.1;3.2 习题二:2.3(1)(2)(3);2.4;2.9(1)(2)(3);2.10;2.12(1)(3) 第三章复变函数的积分 1、熟悉复积分的概念及其基本性质。 2、了解复积分计算的一般方法。 3、会求常见的各类积分(包括不闭路径、闭路径)。 本章的主要方法如下,但要注意适用的积分形式。 (1)牛顿—莱布尼茨公式。 (2)柯西积分定理。 (3)柯西积分公式。 (4)高阶导数公式。 (5)复合闭路定理。 注意:上述方法中的(3)(4)(5)可与第五章中的留数定理的应用结合起来复习。 例:1.1;2.1;2.2;3.1;4.1 习题三:3.1(1);3.3;3.4;3.5;3.6;3.7 第四章级数 1、理解复数项级数的相关概念(收敛、发散、绝对收敛、条件收敛)。 2、会判常见复数项级数的敛散性,包括判绝对收敛和条件收敛。 3、熟悉幂级数的概念,会求幂级数的收敛半径。

复变函数考试要求与知识点

复变函数考试题型与基本要求 考试题型: 一、单选题(每题3分,共15分) 二、填空题(每题3分,共15分) 三、计算题(每题7分,共42分) 四、解答题(每题7分,共28分) 第一章、 复数与复变函数(作为基础内容后面应用) 1、熟练掌握复数的定义及三种表示法; 2、熟练掌握复数的一些相关概念及性质(例如模、辐角与主辐角,复数的共轭等); 3、熟练掌握复数的基本运算(四则运算、乘幂和方根); 4、熟悉复平面上几种曲线的表示法: (1)圆周方程R a z C =-||: (2)圆的方程R a z K <-||: (3)曲线的参数方程:i t y t x t z z )()()(+==,βα≤≤t ?实分析中参数方程)() (t y y t x x ==,βα≤≤t (4)复平面上连接点1z 和2z 的直线段方程为()t z z z z 121-+=,10≤≤t 5、了解复变函数的极限定义与计算方法(对于解析函数可用洛比达法则) 第二章、解析函数(约33分) 1、深刻理解函数可微与解析的定义和关系 2、熟练掌握复变函数的导数计算公式 3、熟悉柯西—黎曼方程形式 4、熟练掌握复变函数可微与解析的判别条件(主要是充分条件) 5、熟悉初等解析函数z e ,z sin ,z cos 的定义形式及性质(尤其要注意和实分

析的区别) 6、熟练掌握多值函数Lnz,n z的定义及计算(注意辐角) 7、掌握函数n z (分支点的判断方法 P) 第三章、复变函数的积分(约24分) 1、深刻理解复积分的定义 2、熟练掌握复积分的计算方法 (1)参数方程法 (2)化为实分析中第二型曲线积分 (3)利用柯西积分公式 (4)利用无穷可微性定理 (5)利用复合闭路原理 (6)利用柯西留数定理(较方便) 3、熟练掌握判断二元实函数为调和函数的方法,并能由) (y x v,使 , , (y x u求) , ( ( ) ) =解析 (+ , v x y i f) y x z u (1)利用偏微分方程的方法(较简单,分两次求不定积分) (2)利用线分析取折线的方法(类似于数分中路径无关性时原函数的求法)第四章、解析函数的幂级数表示法(作为基础内容后面应用)1、熟练掌握幂级数中收敛半径和收敛圆的求法(注意圆心不在原点时的情形怎 么处理) 2、熟记几类初等函数的展开式及收敛范围(间接展开时经常用到,同时能掌握 由定理4.16求收敛半径的方法) 3、掌握解析函数零点定义及判断方法: (1)定义法(2)定理4.17 第五章、解析函数的洛朗展式与孤立奇点(约17分) 1、熟练掌握解析函数在圆环域及孤立奇点去心邻域内的洛朗展式(考题中会给 出具体的范围)(尽量不用级数乘积或和的表达式,需要写出具体式子)2、熟练掌握奇点类型的判断,包括无穷远点,极点写出其阶数(需要写出过程)

Matlab ode函数 微分方程的数值解

ode45 百科名片 ode45,常微分方程的数值求解。MA TLAB提供了求常微分方程数值解的函数。当难以求得微分方程的解析解时,可以求其数值解,Matlab中求微分方程数值解的函数有五个:ode45,ode23,ode113,ode15s,ode23s。 目录 概述 语法 示例 展开 编辑本段 概述 ode是Matlab专门用于解微分方程的功能函数,他有ode23,ode45,ode23s等等,采用的是Runge-Kutta算法。ode45表示采用四阶,五阶runge-kutta单步算法,截断误差为(Δx)3。解决的是Nonstiff(非刚性)的常微分方程.是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,换用ode23来解. 编辑本段 语法 [T,Y] = ode45(odefun,tspan,y0) [T,Y] = ode45(odefun,tspan,y0,options) [T,Y,TE,YE,IE] = ode45(odefun,tspan,y0,options) sol = ode45(odefun,[t0tf],y0...) [T,Y] = ode45(odefun,tspan,y0) odefun 是函数句柄,可以是函数文件名,匿名函数句柄或内联函数名 tspan 是区间[t0 tf] 或者一系列散点[t0,t1,...,tf] y0 是初始值向量《Simulink与信号处理》 T 返回列向量的时间点 Y返回对应T的求解列向量 [T,Y] = ode45(odefun,tspan,y0,options) options 是求解参数设置,可以用odeset在计算前设定误差,输出参数,事件等 [T,Y,TE,YE,IE] =ode45(odefun,tspan,y0,options) 在设置了事件参数后的对应输出 TE 事件发生时间 YE 事件解决时间 IE The index i of the event functionthat vanishes. sol =ode45(odefun,[t0 tf],y0...) sol 结构体输出结果 编辑本段 示例

相关文档
最新文档