matlab求解外弹道,求解一个matlab弹丸质点外弹道的微分方程组
帮题主编了数值方法求解微分方程的代码,但总觉得弹道曲线有点怪,照常理说θ不应该从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弹丸质点外弹道的微分方程组相关推荐
- matlab中索引最后一个,matlab – 索引必须出现在索引表达式的最后
当Y是单元格数组时,通常会遇到此错误.对于细胞阵列, Y{1}(1:3) 是合法的.大括号({})表示数据提取,因此这意味着您要提取存储在单元格数组中位置1的数组,然后引用该数组的元素1到3. 符号 ...
- matlab usewhitebg,我有一个matlab的程序运行出错,各位大神求救,很急啊
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function varargout = Newton_Ring(varargin)% NEWTON_RING M-file for Newton_Rin ...
- matlab求微分方程同届,Matlab学习——求解微分方程(组)
介绍: 1.在 Matlab 中,用大写字母 D 表示导数,Dy 表示 y 关于自变量的一阶导数,D2y 表示 y 关于自变量的二阶导数,依此类推.函数 dsolve 用来解决常微分方程(组)的求解问 ...
- MATLAB观察系统响应,基于MATLAB的系统的时域响应分析精选.doc
基于MATLAB的系统的时域响应分析精选 摘 要 系统的时域响应分析是衡量控制系统的重要指标.所谓控制系统的时域响应分析就是在时间域内求解系统的微分方程,然后根据绘制出来的曲线分析系统的性能和各主要参 ...
- matlab求解外弹道,基于MATLAB∕Simulink的通用质点外弹道程序设计.pdf
2017.01 设计与研发 基于 MATLAB/Simulink 的通用质点外弹道程序设计 崔 瀚 (沈阳工学院兵器类虚拟仿真实验教学中心, 辽宁抚顺 ,113122 ) 摘要:本文以弹丸质点外弹道学 ...
- 用Matlab写脚本求解线性方程组,让大家拥有一个线性方程组计算器
用Matlab写脚本求解线性方程组,让大家拥有一个线性方程组计算器 有句话说的好:一个合格的程序员,不会写出"摧毁地球"的方法.他会写一个方法叫"摧毁行星",然 ...
- matlab两个多项式相除,C++和MATLAB混合编程求解多项式系数(矩阵相除)
摘要:MATLAB对于矩阵处理是非常高效的,而C++对于矩阵操作是非常麻烦的,因而可以采用C++与MATLAB混合编程求解矩阵问题. 主要思路就是,在MATLAB中编写函数脚本并使用C++编译为dll ...
- matlab定积分上界求解,定积分问题的数值求解及Matlab实现.pdf
定积分问题的数值求解及Matlab实现 第28卷第5期 哈 尔滨 商 业 大 学 学报 (自然科学版) Vo1.28No.5 2012年 10月 JournalofHarbinUniversityof ...
- 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...
MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...
最新文章
- evoc服务器长鸣报警显示正常,UPS电源故障灯亮,蜂鸣器长鸣报警怎么办
- Spark详解(十二):Spark Streaming原理和实现
- Jboss7或者wildfly部署war包的问题
- linux下部署tomcat服务器之安装jdk
- python调用远程的python文件_python 实现调用远程接口
- SAP建议客户将UI技术迁移到Fiori的六大原因
- 在终端(Terminal)中用颜色显示不同类型文件
- linux如何使用vnc远程登录,如何使用Xmanager及VNC登录远程桌面
- TCP、UDP套接字的数据传输
- winform改变启动界面
- 【转】java单例模式的实现
- 1.5编程基础之循环控制 21 角谷猜想
- 24. 当效率至关重要时,请在map::operator[]与map::insert之间谨慎作出选择
- 二调建设用地地类代码_最新二调土地地类代码表
- 怎么快速批量修改图片大小?
- 从DT时代云栖大会聊聊恒生电子
- 微信小程序下载图片与缓存
- uni-ui简单入门教程 - 如何用HBuilderX为uni-app项目启用uni-ui扩展组件?
- c语言中怎么对圆环填充颜色,ps里怎么把圆环填充两种颜色
- Java SE基础(十六)集合