数学建模期末复习,撰写博客做总结之用,主要侧重于算例的模型建立与部分代码的实现,其中不足之处望读者多多指正。

文章目录

  • Matlab微分求解工具箱使用
  • 导弹问题
    • 问题介绍
    • 模型建立与求解
      • 1. ==解析法==
      • 2. ==数值解法==
      • 3. ==参数方程==

Matlab微分求解工具箱使用

  • 求数值解

dsolve(‘方程1’,‘方程2’,…,‘方程n’,‘初始条件’,‘自变量’)

  • 求解析解

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

详细的使用说明可参考博文Matlab微分方程求解

导弹问题

问题介绍

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

模型建立与求解

1. 解析法

模型建立:设t时刻导弹的位置为P(x(t),y(t)),乙舰位于Q(1,V0tV_0tV0​t),由题(导弹头始终对准乙舰)可得,导弹在运动弧线p点处的切线y′=v0t−y1−xy^{\prime}=\frac{v_{0} t-y}{1-x}y′=1−xv0​t−y​即 v0t=(1−x)y′+y(1)v_{0} t=(1-x) y^{\prime}+y(1)v0​t=(1−x)y′+y(1)
又由题意(导弹速度是舰的5倍)故有:∫0x1+y′2dx=5v0t(2)\int_0^x {\sqrt {1 + y{'^2}} } {\rm{d}}x = 5{v_0}t (2)∫0x​1+y′2​dx=5v0​t(2)
有(1)(2)式可得微分微分方程为:(1−x)y′′=151+y′2(3)(1-x) y^{\prime \prime}=\frac{1}{5} \sqrt{1+y^{\prime 2}}(3)(1−x)y′′=51​1+y′2​(3)
初值方程为:y(0)=0y(0) = 0y(0)=0,y′(0)=0y'(0) = 0y′(0)=0,利用Matlab求解可得:y=−58(1−x)45+512(1−x)65+524y = - \frac{5}{8}{(1 - x)^{\frac{4}{5}}} + \frac{5}{{12}}{(1 - x)^{\frac{6}{5}}} + \frac{5}{{24}}y=−85​(1−x)54​+125​(1−x)56​+245​

2. 数值解法

将上述方程化为一阶方程,不妨设y1=y,y2=y′y_1=y,y_2=y'y1​=y,y2​=y′,代入(3)中得到{y1′=y2y2′=151+y12/(1−x)\left\{\begin{array}{l}y_{1}^{\prime}=y_{2} \\ y_{2}^{\prime}=\frac{1}{5} \sqrt{1+y_{1}^{2}} /(1-x)\end{array}\right.{y1′​=y2​y2′​=51​1+y12​​/(1−x)​
利用Matlab求解:

%定义函数
function dy=eq1(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=1/5*sqrt(1+y(1)^2)/(1-x);
end调用
x0=0;
xf=0.9999;
[x,y]=ode15s('eq1',[x0 xf],[0 0]);
plot(x,y(:,1),'-')
hold on
y=0:0.01:2;
plot(1,y,'*')


由图可得,导弹大致在点(1,0.2)处击中乙舰。

3. 参数方程

上述结题假设不变,在此基础再将导弹的速度设为www,则在P点处有:(dxdt)2+(dydt)2=w2(1){({{{\rm{d}}x} \over {{\rm{d}}t}})^2} + {({{{\rm{d}}y} \over {{\rm{d}}t}})^2} = {w^2}(1)(dtdx​)2+(dtdy​)2=w2(1)
同时,导弹始终对准乙舰,即导弹速度向量与乙舰的位置向量平行,故有:
(dxdtdydt)=λ(X−xY−y),λ>0(2)\left(\begin{array}{l} \frac{\mathrm{d} x}{\mathrm{d} t} \\ \frac{\mathrm{d} y}{\mathrm{d} t} \end{array}\right)=\lambda\left(\begin{array}{l} X-x \\ Y-y \end{array}\right), \quad \lambda>0(2)(dtdx​dtdy​​)=λ(X−xY−y​),λ>0(2)

{dxdt=w(X−x)2+(Y−y)2(X−x)dydt=w(X−x)2+(Y−y)2(Y−y)(3)\left\{\begin{array}{l} \frac{\mathrm{d} x}{\mathrm{d} t}=\frac{w}{\sqrt{(X-x)^{2}+(Y-y)^{2}}}(X-x) \\ \frac{\mathrm{d} y}{\mathrm{d} t}=\frac{w}{\sqrt{(X-x)^{2}+(Y-y)^{2}}}(Y-y) \end{array}\right.(3)⎩⎨⎧​dtdx​=(X−x)2+(Y−y)2​w​(X−x)dtdy​=(X−x)2+(Y−y)2​w​(Y−y)​(3)
不妨假设乙舰速度为1,则w=5,X=1,Y=t,此时导弹的参数轨迹为:
{dxdt=5(1−x)2+(t−y)2(1−x)dydt=5(1−x)2+(t−y)2(t−y)x(0)=0,y(0)=0\left\{\begin{array}{l} \frac{\mathrm{d} x}{\mathrm{d} t}=\frac{5}{\sqrt{(1-x)^{2}+(t-y)^{2}}}(1-x) \\ \frac{\mathrm{d} y}{\mathrm{d} t}=\frac{5}{\sqrt{(1-x)^{2}+(t-y)^{2}}}(t-y) \\ x(0)=0, y(0)=0 \end{array}\right.⎩⎪⎪⎨⎪⎪⎧​dtdx​=(1−x)2+(t−y)2​5​(1−x)dtdy​=(1−x)2+(t−y)2​5​(t−y)x(0)=0,y(0)=0​

matlab求解:

function dy=eq2(t,y)dy=zeros(2,1);dy(1)=5*(1-y(1))/sqrt((1-y(1))^2+(t-y(2))^2);dy(2)=5*(t-y(2))/sqrt((1-y(1))^2+(t-y(2))^2);
end%调用
[t,y]=ode45('eq2',[0 2],[0 0]);Y=0:0.01:2;plot(1,Y,'-')hold on          plot(y(:,1),y(:,2),'*')


由图可得,导弹最终大致在(1,0.2)处命中目标。这里还以尝试用二分法的思想进一步得到更精确的答案,……tf=0.21是可得求解图像为:

据此可得更为精确的答案。

Matlab建模—导弹追踪问题相关推荐

  1. 数学建模微分方程导弹问题matlab求解,Matlab建模—导弹追踪问题

    数学建模期末复习,撰写博客做总结之用,主要侧重于算例的模型建立与部分代码的实现,其中不足之处望读者多多指正. Matlab微分求解工具箱使用 求数值解 dsolve('方程1','方程2',-,'方程 ...

  2. 导弹追踪问题数学建模matlab

    目录 摘要 一 问题重述 二 模型假设 三 分析与建立模型 四 模型求解 五 模型检验和模型推广 六 参考文献 摘要 本文研究的是导弹追踪敌舰问题.通过建立合理的数学模型,利用matlab软件模拟导弹 ...

  3. matlab的实用与仿真,MATLAB建模与仿真实用教程

    前言 第1章MATLAB建模基础 1.1 MATLAB简介 1.1.1 MATLAB的安装 1.1.2 MATLAB通用命令 1.1.3 MATLAB应用窗口简介 1.2 MATLAB数学建模概述 1 ...

  4. matlabpython建模_一直在用Matlab建模,现在Python很火,用学么?

    原标题:一直在用Matlab建模,现在Python很火,用学么? 有朋友问,自己是非IT技术岗,仅仅是做一些建模工作,现在在工作中一直使用Matlab,对它比较熟悉,各种函数都掌握,而前些年一直在用C ...

  5. matlab电压稳定极限,电力系统电压稳定性的Matlab建模分析

    Matlab软件作为一个编程效率高.程序设计灵活.图形功能强的工程实用的分析软件,在电力系统的仿真分析及相关计算中得以广泛应用,特别是其中的Simulink工具箱可以实现电力系统的模型建立及动态仿真[ ...

  6. bms用matlab吗,一种BMS的MATLAB建模集成方法与流程

    技术特征: 1.一种BMS的MATLAB建模集成方法,其特征在于,包括以下步骤: S01:将BMS分为输入模块.输出模块及若干个中间模块,并定义各模块的名称: S02:定义各模块的输入端口和输出端口的 ...

  7. matlab电机建模,Matlab系列之无刷电机matlab建模.ppt

    永磁无刷电机(BLDC)的数学模型 由于定子三相绕组为星形连接,且无中线,则有: 无刷电机本体模块 无刷直流电机定子电压平衡方程 无刷电机本体模块 无刷电机本体模块 无刷电机本体模块 无刷电机本体模块 ...

  8. 程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(1)调制与编码_程序阅读

    程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(1)调制与编码_程序阅读 在粗浅地掌握了LTE知识后,从今天开始对<全面详解LTE:MATLAB建模仿真与实现>一书的学习. ...

  9. matlab 4轴机器人建模,SCARA机器人运动学分析及MATLAB建模仿真.pdf

    SCARA机器人运动学分析及MATLAB建模仿真.pdf 100 SCARA机器人运动学分析及 MATLAB建模仿真 SCARA机器人运动学分析及MATLAB建模仿真 KinematicAnalysi ...

最新文章

  1. Git 只拉取部分文件
  2. python数据分析的主要流程-Python数据分析全流程实操指南
  3. 经典C/C++面试题
  4. 第九节、人脸检测之Haar分类器
  5. 如何在苹果Mac上的分屏浏览视图中使用 App?
  6. 树莓派安装qq linux,在树莓派上安装Ubuntu Core
  7. php创建对象出问题,activex部件不能创建对象
  8. [BZOJ2906] 分块
  9. 数学问题:矩阵运算法则及矩阵求导
  10. 魅蓝e android无限重启,魅蓝E怎么Root?魅蓝E一键ROOT教程(系统自带Root功能)
  11. 四两拨千斤!深度主动学习综述2020
  12. 【Codeforces 1118D1】Coffee and Coursework (Easy version)
  13. Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)
  14. VTK笔记-CT图像获取皮肤等值面-vtkContourFilter类的使用
  15. 淘宝浏览足迹功能实现(含代码)--cookie案例
  16. 来自Google持续更新中的TCP BBR v2.0最新进展
  17. 《Linux命令行大全》学习笔记2——配置与环境
  18. 牛逼,一款不限速的超级下载器
  19. Math.ceil与Math.floor与Math.round
  20. 维也纳国际酒店+丽柏酒店首个同物业双品牌项目成功加盟,中高端酒店品牌联动浮现新模式

热门文章

  1. 深度学习-Relu层
  2. ANYVIEW(网络警)安装与测试
  3. 微信小程序拖动滑块验证
  4. 你要知道的密评改造方案
  5. java常见的敏感异常
  6. 从代码看Nginx运维本质(转自 2017-01-18 陶辉 运维帮)
  7. 新标日初级上册单词1----4
  8. 用photoshop结合切片工具处理超级大图,例如原图为完整的台湾省19级图片
  9. 固定Excel首行和首列作为标题以及某些行和列
  10. 陶云机器人_淘云QQ机器人(qq机器人下载2017)V1.3 免费版