版权声明:转载请注明原作者及出处

1-明确各参数物理含义

m表示发射物质量(kg)

g表示重力加速度(m/s^2)

c表示阻力系数(无量纲),一般取决于炮弹几何外形和雷诺数,参考https://en.wikipedia.org/wiki/Drag_coefficient

a表示空气密度(1.29kg/m^3)

S表示炮弹迎风面积(m^2)

energy表示炮弹离开炮管时具备的动能(J)

theta表示炮弹发射角(rad)

vx0表示炮弹水平x方向初速度(m/s)

vy0表示炮弹竖直y方向初速度(m/s)

2-进行数值计算与作图的mathematica代码

m = 45;                                          *各项数值初始化*
g = 9.8;c = 0.04;
a = 1.29;
S = 0.02;
k = 0.5*c*a*S;energy = 32 10^6;
theta = Pi/4;
vx0 = Sqrt[2*energy/m]*Cos[theta];
vy0 = Sqrt[2*energy/m]*Sin[theta];
s1 = NDSolve[{                                          *NDSolve解微分方程组*vx'[t] == ((-k (vx[t]^2 + vy[t]^2))/m )*Cos[ArcTan[vy[t]/vx[t]]],vy'[t] == ((-k (vx[t]^2 + vy[t]^2))/m )*Sin[ArcTan[vy[t]/vx[t]]] - g,x'[t] == vx[t],y'[t] == vy[t],vx[0] == vx0, vy[0] == vy0, x[0] == 0, y[0] == 0},{vx, vy, x, y},{t, 0, 300}];
ParametricPlot[Evaluate[{x[t], y[t]} /. s1], {t, 0, 150},PlotRange -> {Full, Full}]    *将数值解做出参数图*

3-可变参数的数值计算与作图的mathematica代码

m = 45;                                          *各项数值初始化*
g = 9.8;c = 0.04;
a = 1.29;
S = 0.02;
k = 0.5*c*a*S;energy = 32 10^6;
theta = Pi/4;
vx0 = Sqrt[2*energy/m] Cos[theta];
vy0 = Sqrt[2*energy/m] Sin[theta];Manipulate[Module[{s1 = NDSolve[{vx'[t] == ((-k (vx[t]^2 + vy[t]^2))/m)*Cos[ArcTan[vy[t]/vx[t]]],vy'[t] == ((-k (vx[t]^2 + vy[t]^2))/m)*Sin[ArcTan[vy[t]/vx[t]]] - g,x'[t] == vx[t],y'[t] == vy[t],vx[0] == vx0, vy[0] == vy0, x[0] == 0, y[0] == 0},{vx, vy, x, y},{t, 0, 300}]},ParametricPlot[Evaluate[{x[t], y[t]} /. s1], {t, 0, time},PlotRange -> {{0, 200000}, {0, 50000}}]],{k, 0.004*0.5*0.02*1.29, 0.04*0.5*0.02*1.29}, {{time, 150}, 1, 300}]
*设置表示炮弹飞行时间的time参数可变*
*设置表示风阻的k参数可变*


结果显示如上,由于博客内部无法展现mathematica的交互性,需要大家亲自实践才能体会其中的动态变化。

总结

此处考虑了与速度平方成正比的空气阻力,由于各项参数找不到准确值,设置一个可变参数范围,观察炮弹轨迹随着可变参数的变化规律才是最理想的。

利用mathematica模拟炮弹轨迹相关推荐

  1. matlab 回退到上一行,对乒乓球回滚的分析与MATLAB模拟-利用 Mathematica 模拟乒乓球滚动 - PS下...

    虽然matlab远多于mathematica.工程系本科会有matlab课,但没注意到有mathematica的课.研究生基本都会matlab,但会mathematica的很少.这这并不代表mathe ...

  2. matlab体电荷电场线,利用Matlab模拟点电荷系的电场线和等势面.docx

    利用Matlab模拟点电荷系的电场线和等势面 文章编号:1007-2934(2014)03-0094-03利用 Matlab 模拟点电荷系的电场线和等势面陈伟,易志俊,丁益民( 湖北大学,湖北 武汉 ...

  3. Mathematica实例——利用Mathematica演示量子力学中的波包演化

    1背景介绍 在量子力学中,一个粒子对应一个在时空中演化的波函数 ,与经典力学中仅仅具有质量.位置.速度等属性的点粒子有很大不同.这种"波粒二象性"常常给初学者带来理解上的困难.我们 ...

  4. Delphi下利用WinIo模拟鼠标键盘详解

    本文最早在编程论坛上发表,文章地址:http://programbbs.com/bbs/view12-17207-1.htm,相关文件可以在上述地址的页面中下载.转载时请注明出处. 前言 一日发现Se ...

  5. python post请求 上传图片_利用python模拟实现POST请求提交图片的方法

    本文主要给大家介绍的是关于利用python模拟实现POST请求提交图片的方法,分享出来供大家参考学习,下面来一看看详细的介绍: 使用requests来模拟HTTP请求本来是一件非常轻松的事情,比如上传 ...

  6. matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...

    文件名称: mcFORnp下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 215 KB 上传时间: 2014-12-29 下载次数: 8 提 供 者: 徐某 ...

  7. 利用PostMan 模拟上传/下载文件(亲测)

    来源:利用PostMan 模拟上传/下载文件 - 王若伊_恩赐解脱 - 博客园 我们经常用postman模拟各种http请求.但是有时候因为业务需要,我们需要测试上传下载功能.其实postman也是很 ...

  8. 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...

    数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...

  9. wordpress python 采集_Python3利用Selenium3模拟wordpress博客登陆

    像小雨主要是玩 WordPress 的,很多网站也需要登陆后才可以进行下一步操作,所以我们单独来讲一讲如何利用 Python3 模拟 wordpress 博客登陆 首先还是安装 selenium 模块 ...

最新文章

  1. [Tool] 使用CodeMaid自動程式排版 - 摘自网络
  2. 图片瀑布流Html,真的!!!两行css代码实现瀑布流,html,css最简单的瀑布流实现方式且没有缺点...
  3. hashmap移除元素_Java HashMap 如何正确遍历并删除元素的方法小结
  4. 3、java中的数据类型和运算符
  5. windows系统 安装MongoDB
  6. C++之编写dll库
  7. android 预约挂号代码_还在医院苦苦排队挂号?Python定时自动挂号和快捷查询化验报告!...
  8. 计算机毕设应用型开题报告,毕设开题报告范文.doc
  9. C++ 超级玛丽制作揭秘(包含完整源文件与文档)
  10. linux查看内存和硬盘,Linux 查看内存,CPU及硬盘大小的步骤
  11. 教你快速缩小多个横屏短视频画面的两种方法
  12. 超详细的fiddler教程,从小白到精通(五)❤️
  13. Android 系统原生TTS使用
  14. Springboot+vue项目实验室管理系统
  15. 知云文献翻译 for mac
  16. c语言程序设计 doc,C语言程序设计61844.doc
  17. 深度学习环境搭建超级详解(Miniconda、pytorch安装)
  18. 动态更新initialValue的值
  19. 激光原理学习笔记(一、激光基本原理)
  20. html+CSS让背景图片充满整个屏幕

热门文章

  1. CTSV当中Camera FOV的计算方法
  2. Spring-Boot 使用JSR-107集成EHCache3.x (配置Clustered以及DISK)
  3. iOS 开发常用数学函数
  4. 符号执行Symbolic Execution
  5. bootstrap框架使用注意事项
  6. 遇事不决,量子力学!潘建伟的导师荣获2022年诺贝尔物理学奖!
  7. 视频:三亚行-乘风破浪会有时
  8. 全网最全的Python入门基础教程,超详细。(最新版)
  9. web 网页登录 微信授权
  10. 基于JavaWeb的保护动物管理系统设计与实现