帮题主编了数值方法求解微分方程的代码,但总觉得弹道曲线有点怪,照常理说θ不应该从45度很快过渡到-45度,但我看了半天也没发现代码存在什么问题,请题主再自行检查一下吧。

调用ode45求解,设置了结束事件,即当y<=0时停止计算。画出的两个图,一个分别是4个变量随时间变化的曲线,另一个是x-y曲线。

参考代码:

function zd1048364679443527539

X0 = [738; 45; 0; 0];

opt = odeset('Events',@events)

[t,X] = ode45(@ode,[0 250],X0,opt);

vars = {'V', '\theta', 'y','x'};

for i=1:4

subplot(2,2,i)

plot(t,X(:,i))

xlabel('{\itt} / s')

ylabel(vars{i})

xlim(t([1 end]))

end

figure

plot(X(:,4),X(:,3))

xlabel x, ylabel y

function dX = ode(t,X)

v = X(1);

Q = X(2) * pi / 180;

y = X(3);

x = X(4);

C = 0.5032;

H = (20000-y)/(20000+y);

F = 4.737e-4 * v * 0.3;

g = 9.8;

dX = [-C*H*F-g*sin(Q); -g*cos(Q)/v; v*sin(Q); v*cos(Q)];

function [value,isterminal,direction] = events(t,X)

y = X(3);

value = [y];

isterminal = [1];

direction = [-1];

向左转|向右转

向左转|向右转

matlab求解外弹道,求解一个matlab弹丸质点外弹道的微分方程组相关推荐

  1. matlab中索引最后一个,matlab – 索引必须出现在索引表达式的最后

    当Y是单元格数组时,通常会遇到此错误.对于细胞阵列, Y{1}(1:3) 是合法的.大括号({})表示数据提取,因此这意味着您要提取存储在单元格数组中位置1的数组,然后引用该数组的元素1到3. 符号 ...

  2. matlab usewhitebg,我有一个matlab的程序运行出错,各位大神求救,很急啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function varargout = Newton_Ring(varargin)% NEWTON_RING M-file for Newton_Rin ...

  3. matlab求微分方程同届,Matlab学习——求解微分方程(组)

    介绍: 1.在 Matlab 中,用大写字母 D 表示导数,Dy 表示 y 关于自变量的一阶导数,D2y 表示 y 关于自变量的二阶导数,依此类推.函数 dsolve 用来解决常微分方程(组)的求解问 ...

  4. MATLAB观察系统响应,基于MATLAB的系统的时域响应分析精选.doc

    基于MATLAB的系统的时域响应分析精选 摘 要 系统的时域响应分析是衡量控制系统的重要指标.所谓控制系统的时域响应分析就是在时间域内求解系统的微分方程,然后根据绘制出来的曲线分析系统的性能和各主要参 ...

  5. matlab求解外弹道,基于MATLAB∕Simulink的通用质点外弹道程序设计.pdf

    2017.01 设计与研发 基于 MATLAB/Simulink 的通用质点外弹道程序设计 崔 瀚 (沈阳工学院兵器类虚拟仿真实验教学中心, 辽宁抚顺 ,113122 ) 摘要:本文以弹丸质点外弹道学 ...

  6. 用Matlab写脚本求解线性方程组,让大家拥有一个线性方程组计算器

    用Matlab写脚本求解线性方程组,让大家拥有一个线性方程组计算器 有句话说的好:一个合格的程序员,不会写出"摧毁地球"的方法.他会写一个方法叫"摧毁行星",然 ...

  7. matlab两个多项式相除,C++和MATLAB混合编程求解多项式系数(矩阵相除)

    摘要:MATLAB对于矩阵处理是非常高效的,而C++对于矩阵操作是非常麻烦的,因而可以采用C++与MATLAB混合编程求解矩阵问题. 主要思路就是,在MATLAB中编写函数脚本并使用C++编译为dll ...

  8. matlab定积分上界求解,定积分问题的数值求解及Matlab实现.pdf

    定积分问题的数值求解及Matlab实现 第28卷第5期 哈 尔滨 商 业 大 学 学报 (自然科学版) Vo1.28No.5 2012年 10月 JournalofHarbinUniversityof ...

  9. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

最新文章

  1. evoc服务器长鸣报警显示正常,UPS电源故障灯亮,蜂鸣器长鸣报警怎么办
  2. Spark详解(十二):Spark Streaming原理和实现
  3. Jboss7或者wildfly部署war包的问题
  4. linux下部署tomcat服务器之安装jdk
  5. python调用远程的python文件_python 实现调用远程接口
  6. SAP建议客户将UI技术迁移到Fiori的六大原因
  7. 在终端(Terminal)中用颜色显示不同类型文件
  8. linux如何使用vnc远程登录,如何使用Xmanager及VNC登录远程桌面
  9. TCP、UDP套接字的数据传输
  10. winform改变启动界面
  11. 【转】java单例模式的实现
  12. 1.5编程基础之循环控制 21 角谷猜想
  13. 24. 当效率至关重要时,请在map::operator[]与map::insert之间谨慎作出选择
  14. 二调建设用地地类代码_最新二调土地地类代码表
  15. 怎么快速批量修改图片大小?
  16. 从DT时代云栖大会聊聊恒生电子
  17. 微信小程序下载图片与缓存
  18. uni-ui简单入门教程 - 如何用HBuilderX为uni-app项目启用uni-ui扩展组件?
  19. c语言中怎么对圆环填充颜色,ps里怎么把圆环填充两种颜色
  20. Java SE基础(十六)集合

热门文章

  1. 战旗三国一直显示连接服务器,Power Spider 2连接服务器失败_九游手机游戏
  2. 逐浪帅宋-一款极具匠心打造的斜体汉字
  3. 做网站要以人性化作为设计理念
  4. 【文献笔记】《使用深度卷积神经网络预估剩余有用寿命》
  5. 揭秘当下App推广的7个惊人黑幕
  6. 深圳坐地铁还是很卷的
  7. Springboot模板引擎
  8. SQL Server修改表名,字段名,索引名
  9. C语言 - 汉诺塔详解(最简单的方法,进来看看就懂)
  10. java生成pem格式公钥_如何以.pem格式保存证书中的公钥