- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
然后继续下一步 yi 2 的计算.
此即改进的欧拉法.
3.使用泰勒公式 以此方法为基础,有龙格-库塔法、线性多步法等方 法. 4.数值公式的精度 当一个数值公式的截断误差可表示为O(hk+1)(其 中k为正整数,h为步长)时,称它是一个k阶公式. k越大,则数值公式的精度越高. •欧拉法是一阶公式,改进的欧拉法是二阶公式.
故有公式:
yi 1 yi hf ( xi , yi ) i 0,1, 2, y0 y( x0 ) , n -1
此即欧拉法.
2.使用数值积分
对方程y’=f(x,y), 两边由xi到xi+1积分,并利用梯形公式,有:
y ( xi 1 ) y ( xi )
xi 1
-1.5 -2 -2.5 0 500 1000 1500
2000
2500
3000
3.结果如图
To MATLAB(ff4)
数学建模实例
1.目标跟踪问题一:导弹追踪问题 2.目标跟踪问题二:慢跑者与狗 3.地中海鲨鱼问题
返 回
导弹追踪问题 设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰 发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度 v0(常数)沿平行于y轴的直线行驶,导弹的速度是5v0,求导弹 运行的曲线方程.乙舰行驶多远时,导弹将它击中? 解法一(解析法) 假设 t 时刻导弹的位置为 P(x(t), y(t)),乙舰位于 Q(1, v0 t ) .
则微分方程变为一阶微分方程组:
y1 ' y2 2 y ' 1000 ( 1 y 2 1 ) y2 y1 y (0) 2, y (0) 0 2 1
2 1.5 1 0.5 0 -0.5 -1
1.建立M文件vdp1000.m如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1000*(1-y(1)^2)*y(2)-y(1); 2.取t0=0,tf=3000,输入命令: [T,Y]=ode15s('vdp1000',[0 3000],[2 0]); plot(T,Y(:,1),'-')
ts=[t0,t f],t0、 tf为自变
函数 的初 值
量的初值 和终值
ode23:组合的2/3阶龙格–库塔–费尔贝格算法 ode45:运用组合的4/5阶龙格–库塔–费尔贝格算法 用于设定误差限(缺省时设定相对误差10-3, 绝对误差10-6), 命令为:options=odeset(’reltol’,rt,’abstol’,at) rt,at:分别为设定的相对误差和绝对误差.
返 回
(二)建立数值解法的一些途径
1.用差商代替导数
设 xi 1 xi h, i 0,1, 2, 微分方程 y ' f ( x, y ) y ( x0 ) y0 , n 1, 则可用以下离散化方法求解
若步长h较小百度文库则有
y ( x h) y ( x ) y ' ( x) h
xi
f (t , y (t ))dt
故有公式:
h y i 1 y i [ f ( xi , y i ) f ( xi 1 , y i 1 )] 2 y 0 y ( x0 )
xi 1 xi [ f ( xi , y ( xi )) f ( xi 1 , y ( xi 1 ))] 2
•龙格-库塔法有二阶公式和四阶公式.
•线性多步法有四阶亚当斯外插公式和内插公式. 返 回
(三)用MATLAB软件求常微分方程的数值解
[t,x]=solver(’f’,ts,x0,options)
自变 量值 函数 值
ode45 ode23 ode11 3ode1 5sode 23s
由待解 方程写 成的M 文件名
由于导弹头始终对准乙舰,故此时直线 PQ 就是导弹的轨迹曲线弧 OP 在点 P 处的切线,
v0 t y y' 即有 1 x 即 v0t (1 x) y' y
实际应用时,与欧拉公式结合使用:
0) y i( yi hf ( xi , y i ) 1 h ( k 1) (k ) y y [ f ( x , y ) f ( x , y i 1 i i i i 1 i 1 )] k 0,1,2, 2
k 1) (k ) (k 1) 对于已给的精确度 0,当满足 yi( y 时, 取 y y 1 i 1 i 1 i 1 ,
注意:
1.在解含n个未知数的方程组时,x0和x均为n维向量, M文件中的待解方程组应以x的分量形式写出. 2.使用MATLAB软件求数值解时,高阶微分方程必须 等价地变换成一阶微分方程组.
例4
解: 令 y1=x,y2=y1’
d2 x 2 dx 2 1000(1 x ) x 0 dt dt x(0) 2; x '(0) 0
一、微分方程模型——数值解
二、微分方程稳定性模型——定性分析
返 回
动态 模型
• 描述对象特征随时间(空间)的演变过程
• 分析对象特征的变化规律
• 预报对象特征的未来性态
• 研究控制对象特征的手段
微分 方程 建模
• 根据函数及其变化率之间的关系确定函数 • 根据建模目的和问题分析作出简化假设 • 按照内在规律或用类比法建立微分方程
微分方程的数值解
(一)常微分方程数值解的定义 在生产和科研中所处理的微分方程往往很复杂,且大 多得不出一般解.而实际中的对初值问题,一般是要求 得到解在若干个点上满足规定精确度的近似值,或者得 到一个满足精确度要求的便于计算的表达式. 因此,研究常微分方程的数值解法是十分必要的.
y' f ( x, y ) 对常微分方程 : ,其数值解是指由初始点x0 开始 y ( x0 ) y0 的若干离散的x处的值,即对x0 x1 x2 xn, 求出准确值y ( x1 ), y ( x2 ), , y ( xn ) 的相应近似值y1 , y2 , , yn .