用MATLAB解这样的方程组当然没什么问题,但需要知道相关的参数,比如质量m、转动惯量JxJyJz、推力P,以及气动力和气动力矩,而这些量的计算往往是由一些数据表格插值得到,总之会是一个相对比较繁琐的过程。
这方面的工作一般都是有工程背景的,不要指望会有人把能运行的程序直接提供给你,因为那不仅涉及代码问题,更涉及到保密问题。如果你是在相关行业的高校或科研院所工作学习,请向你的前辈请教,得到一些可用的资源然后再研究怎么进行改进(比如,原来的程序是用C或Fortran编的,现在想用MATLAB实现)。但如果你只是出于个人兴趣而没有相关资源支持,我只能建议你去研究一下MATLAB的航空航天工具箱里面的例子了,那会对你有不小的帮助。
function cat_mouse
clear
clc
mov=avifile('cat_mouseavi');
ts=0:0005:05;
x0=[0,0];
[t,x]=ode45(@cat_m,ts,x0);
n=length(x);
figure(1)
plot(0,0,'')
hold on
h1=line( 'Color' ,[0 0 1], 'Marker' , '' , 'MarkerSize' ,40, 'EraseMode' , 'xor' );
h2=line(15,0,'MarkerFaceColor',[0 1 0],'Marker','h', 'MarkerSize' ,15, 'EraseMode' , 'xor');
plot(15,0,'')
line([15 15],[0 11],'LineWidth',2)
axis equal
axis([0 16 0 11])
title('猫追耗子动画演示')
for i=1:n-1
plot(x([i i+1],1),x([i i+1],2))
set(h1, 'xdata' ,x(i+1,1), 'ydata' ,x(i+1,2));
set(h2, 'xdata' ,15, 'ydata' ,20t(i+1));
drawnow; % 刷新屏幕
pause(0005)
f=getframe(gcf);
mov=addframe(mov,f);
end
hold off
mov=close(mov);
后面是子程序
function dx=cat_m(t,x)
a=20;b=40;c=15;
s=sqrt((c-x(1))^2+(at-x(2))^2);
dx=[b(c-x(1))/s;b(at-x(2))/s];
上次看到一个网友做的猫捉老鼠的实现,其实就是导d追踪问题
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我是个编程爱好者有很喜欢军事导d谁能给我详细的讲讲导d防御系统啊它分哪几部分尤其是关于计算机语言方面的
解析:
导d防御系统包括预警卫星系统,目标和跟踪雷达系统,部署在若干地点的导d拦截器发射控制系统。
对于如此庞大且设备多样化的系统,不可能只用一个程序一种语言。
我认为会用到Fortran, Pascal, C, C++ 等高级语言,为加快响应速度,会大量使用汇编语言,为把一些程序串起来,会用脚本语言。
有兴趣可以写写数据采集,A/D, D/A 转换程序,图象处理和物体图象识别程序。
某国为了防御敌国的导d袭击,开发出一种导d拦截系统,但是这种导d拦截系统有一个缺陷:虽然他的第一发炮d能够到达任意高度,但是以后每一发炮d都不能高于前一发的高度,某天雷达捕捉到敌国的:8枚导d来袭,雷达给出的导d飞来的高度依次为389,207,155,300,299,170,158,65。
要求按照导d袭击的时间顺序拦截全部导d,不允许先拦截后面的导d,再拦截前面的导d,请你计算一下最少需要多少套拦截系统?
采用贪心策略求解该问题,首先把第1枚导d的高度存入“拦截系统”列表中,即创建第一套拦截系统。然后把第2枚导d的高度与“拦截系统”列表中的各个元素比较,如果它小于或等于某个元素,则将该元素的值替换为第2枚导d的高度,即该元素代表的那套拦截系统能多次拦截高度更低的导d,不需要增加新的拦截系统。
如果第2枚导d的高度比“拦截系统”列表中的各个元素值都大,则说明没有能够拦截第2枚导d的拦截系统,这时就创建一套新的拦截系统,将第2枚导d的高度插入“拦截系统”列表中。其他各枚导d按此过程进行处理,最后,“拦截系统”列表中包含的元素个数就是需要创建的拦截系统数量,到此求得该问题的解。
首先创建一个名为“导d”的列表,并把8枚导d的高度依次录入此列表中;再创建一个名为“拦截系统”的列表,用于存放各套拦截系统的最后拦截导d的高度,每个元素代表一套拦截系统,两个列表如图所示
根据上面介绍的算法,编写求解“拦截导d”问题的程序清单,如图所示,单击绿旗运行程序,得到答案,最少需要2套拦截系统。
假设由于导d拦截系统造价太高,某国只部署了一套这种系统,那么面对来袭的8枚导d,该系统最多能拦截多少枚导d?
以上就是关于MATLAB解方程组 导d飞行力学 六自由度方程全部的内容,包括:MATLAB解方程组 导d飞行力学 六自由度方程、运动目标检测matlab程序、导d防御系统使用什么计算机语言写的啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)