2019.4.20.数学建模第六章学习笔记 (微分方程和差分方程)

1.用matlab解微分方程

1.1微分方程的解析解

用dsolve函数,形式如dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’)
例1.

dsolve('Du=1+u^2','t')
结果为 ans = tan(t-C1)

在这里插入图片描述

y = dsolve('D2y +4*Dy+29y = 0' ,'y(0) = 0', 'Dy (0)=15','x')
结果为
ans = 3*exp(-2*x)*sin(5*x)

在这里插入图片描述

[x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x-5*y+3*z','Dz = 4 * x -4*y + 2*z','t')
x = simple(x)
y = simple(y)
z = simple(z)

1.2 微分方程的数值解

在生产和科研中所处理的微分方程往往很复杂且大多得不出一般解。而在实际上对初值问题,一般是要求得到解在若干个点上满足规定精确度的近似值,或者得到一个满足精确度要求的便于计算的表达式。
在这里插入图片描述

用matlab求解

[t,x]=solver(’f’,ts,x0,options)

t 表示自变量,x表示函数值,solver 表示ode系列 f是待解方程写成的M文件名,ts =[t0,tf] t0和tf表示自变量的初值和终值,x0为函数的初值,option用来设定误差限制。
注意:
1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成.
2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.


在这里插入图片描述

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),'-')

1.3 综合应用 : 导弹问题

设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度v0(是常数)沿平行于y轴的直线行驶,导弹的速度是5v0,求导弹运行的曲线方程.又乙舰行驶多远时,导弹将它击中?
解法一:解析法

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值