专栏名称: 算法与数学之美
从生活中挖掘数学之美,在实践中体验算法之奇,魅力旅程,从此开始!
目录
相关文章推荐
九章算法  ·  下半年上岸,一切都来得及 ·  昨天  
九章算法  ·  今日开播!DS/NLP大佬助你上岸大厂,面试 ... ·  2 天前  
九章算法  ·  终极版捡漏!大厂system ... ·  1 周前  
九章算法  ·  这可能是转行DS最“偷懒”的方式了... ·  1 周前  
51好读  ›  专栏  ›  算法与数学之美

朝韩危机-Python模拟导弹互射

算法与数学之美  · 公众号  · 算法  · 2017-08-28 21:16

正文

朝韩危机-Python模拟导弹互射



萨德系统是麻省理工学院的林肯实验室牵头开发的。林肯实验室可以说是美军方手中的一张王牌。二个反导系统(末段高空区域导弹防御(THAAD)系统,和 国家导弹防御系统(NMD))均由实验室牵头。它既是技术支撑方,同时又是关键技术的研制方,例如THAAD地基雷达(GBR),实验室负责任务书的拟定,并负责雷达的验收,而其中的目标识别算法等又是实验室提供并负责试验数据的录取和分析。


对于在韩国部署萨德的意义和目的,著名导弹专家、美国麻省理工学院终身教授泊斯托尔曾一针见血地指出:萨德对于防范朝鲜的劳动导弹并不管用,但却会成为美国国家导弹防御体系(NMD)的重要组成部分。

发表一下政治观点:看了战争之王的朋友可以理解,和平是军火商的噩梦。为了赚取高额军火利润,美国军火商要不停制造全球仇恨和紧张。美国在亚太不停挑拨离间各个中,日,韩,朝鲜,菲律宾,制造仇恨和冲突。

 洛克希德马丁公司是美国知名军火商,利润每年上百亿。萨德系统就是洛克希德马丁的产品。

很多时候,为了赚钱,美国政客和军火商要不停制造全球冲突和仇恨。


(洛克希德马丁)

 

切入正题,谈谈科学。。。。。。。

要模拟朝韩导弹互射,就要先明白弹道轨迹。我们用python模拟最简单的弹道轨迹。希望能帮助各位初学者学习python数学建模和matplotlib动态可视化模拟。


数学建模要用导数知识:

感谢英国大神牛顿和德国大神莱布尼茨的导数求最值方法,当导弹的瞬时速度为0时,导弹高度达到最高值(峰值),看不懂的可以去补补微积分知识,高中课本就能看懂。


(膜拜大神,左:牛顿,右:莱布尼茨)

Python导入math模块,表示飞行时间t_flight:

t_flight =2*u*math.sin(theta_radians)/g



这是代码运行的界面

 

运行后可以观察弹道数据,设置不同发射速度和角度可以得到不同结果。


生成的动态图:

生成动态图需要导入matplotlib模块。

说明此语句意思animation.FuncAnimation(fig, update,generate,interval=5)

animation.FuncAnimation函数用于生成动态图片。fig是生成的图表对象,generate函数生成数据后传递给update函数更新,这样数据不断更新,图形也不停变化。

interval表示时间间隔,设置的值越小,运动速度越快。

(导弹发射轨迹的动态模拟)

 

 

当然军事上导弹轨迹比理论的要复杂,考虑风速等等,为了简化内容,文章暂时不涉及。


“萨德”系统如果进驻朝鲜半岛,受影响的不仅是朝鲜,中国和俄罗斯远东地区部署的战略战术导弹也将面临“威力贬值”的风险。除导致中国洲际导弹威慑力下降外,有专家分析,“萨德”部署在韩国境内,比起部署日本,能向西向北推进300公里的探测距离,从而更方便地监控中国东北、华北、东南沿海大部分地区。从理论上说,中国在东部沿海地区机动发射的“东风-21D”、“东风-26”系列反舰弹道导弹面临“提前曝光”的危险。

萨德事件,日本人不断煽风点火。

本作者看不下去了,决定模拟北京导弹先发制人,同时打掉萨德部署地和日本几个大城市,东京,长崎,广岛,大阪。

 

我们用python的matplotlib和basemap来完成这个模拟。matplotlib是Python常用的数据绘制包。它基于numpy的数组运算功能。matplotlib绘图功能强大,可以轻易的画出各种统计图形,比如散点图,条行图,饼图等。matplotlib常与numpy和scipy相配合,用于许多研究领域。他们是免费工具,但其功能足可以与科研界的大佬Matlab竞争。Basemap是Matplotlib的一个子包,负责地图绘制。在数据可视化过程中,我们常需要将数据在地图上画出来。比如说我们在地图上画出城市人口,飞机航线,军事基地,矿藏分布等等。这样的地理绘图有助于读者理解空间相关的信息。

 

(basemap可用于绘制卫星地图)


先为程序收集几个城市经纬度参数。

#东京的经纬度
tokyolat,tokyolon=35.42,139.46
#广岛坐标
Hiroshima_lat, Hiroshima_lon=34.24,132.27
#大阪坐标
Osaka_lat,Osaka_lon= 34.4,135.3
#长崎坐标
Nagasaki_lat,Nagasaki_lon=32.46,129.52

 

Python程序写好后,命名为missle.py,然后执行脚本


python得到了下面地图

任务完成,最后我想说的是军事竞赛带来的是人类种族残杀和自我毁灭。希望数学领域高材生不要被金钱诱惑,远离美国军火商,珍惜和平,珍惜生命!



以往文章:

蒙特卡洛与赌博模型






算法数学之美微信公众号欢迎赐稿

稿件涉及数学、物理、算法、计算机、编程等相关领域。

稿件一经采用,我们将奉上稿酬。

投稿邮箱:[email protected]