运用matlab解决如下问题?

根据侦察,发现离我军大炮阵地水平距离10km的前方有一敌军的坦克群,现欲发射炮弹摧毁敌军坦克群。问题可简化为单门大炮对移动坦克的精确射击问题.假设炮弹发射速度可控制在0.... 根据侦察,发现离我军大炮阵地水平距离 10km 的前方有一敌军的坦克群, 现欲发射炮弹摧
毁敌军坦克群。问题可简化为单门大炮对移动坦克的精确射击问题.假设炮弹发射速度可控
制在 0.2km/s 至 0.6km/s 之间. 在上述假设下,研究下列问题:
(1) 假定坦克在大炮前方 10km 处静止不动,炮弹发射的初速度为 0.32km/s, 请确
定发射角击中坦克,并画出炮弹运行动态轨迹图.
(2) 假定坦克在大炮前方 10km 处以每小时 50km 向大炮方向前进, 此时应如何
选择发射速度和角度,能够在最短时间内摧毁敌军坦克?
要求写出matlab代码。
展开
 我来答
lhmhz
高粉答主

2021-10-04 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17008

向TA提问 私信TA
展开全部

题主的第一问,即炮弹运动轨迹问题,可以这样来处理:

1、根据炮弹运动轨迹的参数方程

x=v0*t*cosα

y=v0*t*sinα-0.5*g*t^2

消去t,求得 y(x)的表达式,即

y=x*tan(alpha)-0.5*g*(x/(v0*cos(alpha)))^2;

2、根据已知条件,

v0=0.32e3; %km/s

x=10e3; %km

使用vpasolve函数,求出alpha(发射角),即

alpha=vpasolve(y==0,[0,+inf]); %36.668°

3、利用x的参数方程,求得发射炮弹达到10km处的时间tm,即

tm=x/(v0*cos(alpha))

4、使用linspace函数,将t【t0,tm】分割成若干个等份,如50等份

t=linspace(t0,tm,50);

5、计算t对应的x、y值

6、使用plot函数,绘制炮弹运行动态轨迹图,即

plot(x,y)

xlabel('x(t)'),ylabel('y(t)')

7、完善上述代码,运行后得到如下运行动态轨迹图

更多追问追答
追问
那么一开始是否是要将t和alpha作为变量?可以放出完善后的代码吗?我在将t和alpha作为变量输入后依旧无法通过plot函数输出图像。
追答
一开始只有alpha作为变量,用y=x*tan(alpha)-0.5*g*(x/(v0*cos(alpha)))^2;求出alpha
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式