关键词不能为空

当前您在: 主页 > 英语 >

ODE45函数的使用——翻译

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-11 08:40
tags:

-

2021年2月11日发(作者:粗心大意的人叫)




Matlab


中使 用


ode45


简介


< br>Matlab


中常微分方程常用的函数是


ODE45



这个函数能够利用


--

< br>龙哥库塔法


--


有效求解带时


间 变量步长的计算。


Ode45


用于求解如下的一般问题:



dx


?


f


?


t


,


x


?


,


x


?

< br>t


0


?


?


x


0



1




dt


其中,时间

t


是独立变量,


x


为时间相关矢量 ,


f


?


t


,< /p>


x


?


是时间


t< /p>



x


的函数。当(


1


)右边的


f


?

t


,


x


?


是固定的,且给定


x


的初始值,那么问题的解是唯一的。




ME175


中, 解法是不完整的,但是只要你解决了问题,就可以获得


ODE


代 表的系统运


动趋势。


这有利于得到一个直观的印象,

< p>
看起来很复杂的常微分方程,


代表的质点运动轨迹


确实简单明了的。以下简要解释如何得到运动轨迹:




第一步:



对给定的

< br>ODE


方程进行降阶处理,得到一系列一阶方程



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


ODE


方程如下:



m


y


?


y


e


?


y


?


5


,


y


0


?


3


,


y


0


?

< br>?


1



2




对本问题,矢量


x


有两个组成分量:


y



y< /p>


,或



?


?


?


?


y


2


?


x


?


1


?


?


y


x

< br>?


2


?


?


y




?



3




d


?


x


?


1


?


?


?


x


?


2


?


dt



4



d


?


x


?


2


?


?


1


2< /p>


?


5


?


x


?


2


?


e

< p>
?


x


?


1


?


?


?


?

x


?


1


?


?


dt


m


?


?


其中,用(


3


)中的式子代表了


y



y


< p>
y


,于是把(


2


)改写为 (


4






如果求解的问题有更多阶数更多变量呢?例如,


我们除了有上面的方程



2




同时还有以下


的方程:

< p>


?


d


3


z


d


2


z

?


?


sin


?

z


?


?


t


,


z


0


?


0< /p>


,


z


0


?


1


.



5

< p>



dt


3


dt


2


?


?


?


那么,我们可以通过构造更大的矢量


x


同时求解


y



z

< p>



x


?


3


?


?


z

x


?


4


?


?


z





6




x


?


5


?


?


z


?


?


?


然后



?


?


?


?


?

?


x


?


?


y


,


y


,


z< /p>


,


z


,


z


?




7




?


?


以及


< /p>


?


x


t


?


0


?


?


y

< p>
t


?


0


,


y


t


?


0

,


z


t


?


0


,


z


t


?< /p>


0


,


z


t


?


0


?


< p>
8




?


其中,


y


变量和


z

< p>
变量的放置位置对求解不造成影响。实际上,任意次序都是有效的,例如



?


?


?


?


?


x


?


?


y


,


z


,


y


,


z


,

< br>z


?




x


?


?


z


,


z


,


z


,


y


,


y


?



?


?


?


?


?


?


?

< br>?


?


?


?


?


?


?


?


?


?


?


但是重要的是,在整个计算过程中 ,你使用的顺序都必须和一阶


ODE


方程中定义的变量顺


序相同。之后,如果你使用的是(


7


)中给定 的的式子,那么系统的一阶


ODE


方程,由以

< br>下方程组组成。




10



< /p>


?


?


?


?


?


?


而涉及的表征变量


x


?


?


y


,


z


,


y


,


z


,


z


?


结果如下:



?


?



11




基本上,可以处理任意数量的高阶


ODE


方程 。重要的是把它们处理成多个一阶的


ODE


< br>程,并且确保记住被求解的矢量


X


中,不同变量所分配的 顺序。




第二步



编写代码



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



?< /p>


t


,


x


?


?


ode


45


?


@


fname


,


t span


,


xinit


,


options


?



·


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


个初始值。



·


opt ion


这个在


matlab


的帮助文件 中有很好的说明。


对于大部分的问题,


使用默认值就可以


满足计算要求。



·


t


是独立变量,计算数组


x


在时间点< /p>


t


的数值。这个矢量不必等于


tspan



ODE45


自动调节


步数以取得最大的效率和精确度。


(在快速变化部分采用小步长,在变化缓慢部 分采用大步


长)



< br>·


x


相关内容如下。


X


是数组或矩阵,大小为


length



t



*length



xinit



。每一列


x


代表不


?


?


?


?


?


?

同的因变量。例如,


x


?


?


y


,


y


,

< p>
z


,


z


,


z


?


,为简单假定


t=0,1 ,2....,10,


将会计算函数在


11

个点的


?


?


值。

< br>



12





如果


z


是< /p>


x


的第四个变量,那么


x


?


1


,


4

?


得到了


z


t=0


时候的值,


x


?

< p>
7


,


4


?


得到了


z



t=6

< p>


候的值,


x


?


11


,


4


?

< p>
得到了


t=10


时候的值。简而言之,

< p>


·


x


?


:,


k


?


代表


x


的第


k


个变量,

< p>
k=1


与变量


y


相关,< /p>


k=2


与变量


y


相关。



·


x


?


j


,


:


?< /p>


计算所有变量在某一时间点


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< /p>


及时完成作业时,


x


就是要做得全部内容 。



不幸的是由于缺乏


matlab< /p>


软件,使得这本书过时了。



·


x


?


j


,


k


?


?


x

< br>?


时间,变量值


?


-


-


-


-


-


-


-


-



本文更新与2021-02-11 08:40,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/635211.html

ODE45函数的使用——翻译的相关文章