1 / 23
文档名称:

飞行器系统仿真.docx

格式:docx   大小:402KB   页数:23页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

飞行器系统仿真.docx

上传人:秀英 2021/7/11 文件大小:402 KB

下载得到文件列表

飞行器系统仿真.docx

文档介绍

文档介绍:WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】
飞行器系统仿真
《飞行器系统仿真与CAD》学****报告
第一部分仿真(40)
题目1:给定导弹相对于目标的运动学方程组为
r(0) = 5km, q(0) = 60deg, ?(0) = 30deg,V = , Vm= , 1Ma = 340m/s, k = 2
建立系统的方框图模型;
用MATLAB语言编写S—函数
用窗口菜单对(1), (2)进行仿真,动态显示结果;
(4)用命令行对(1), (2)进行仿真,以图形显示结果
答:
(1)
(2)用MATLAB语言编写S函数
function [sys,x0,str,ts]=CAD1_sfun(t,x,u,flag)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
case 1
sys = mdlDerivatives(t,x,u);
case 3
sys = mdlOutputs(t,x,u);
case {2,4,9}
sys = [];
otherwise
error('unhandled flag=',num2str(flag))
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;
=3;
=0;
=3;
=0;
=1;
=1;
sys=simsizes(sizes);
str=[];
x0=[5000,pi/3,pi/6];
ts=[0 0];
functionsys=mdlDerivatives(t,x,u)
vm=*340;
v=*340;
k=2;
dx(1)=vm*cos(x(2))-v*cos(x(2)-x(3));
dx(2)=(v*sin(x(2)-x(3))-vm*sin(x(2)))/x(1);
dx(3)=k*dx(2);
sys=dx;
function sys=mdlOutputs(t,x,u)
sys=x;
调用S函数的模型框图
(3)框图仿真结果:
S函数仿真结果:
(4)命令输入
clear;clc
[t x ] = sim('CAD1');
hSimulink = figure();
subplot(3, 1, 1);
plot(t,x(:,1)); grid; ylabel('r');
subplot(3, 1, 2);
plot(t,x(:,2)); grid; ylabel('q');
subplot(3, 1, 3);
plot(t,x(:,3)); grid; ylabel('sigma');
[t x ] = sim('CAD1_S');
hSFun = figure();
subplot(3, 1, 1);
plot(t,x(:,1)); grid; ylabel('r');
subplot(3, 1, 2);
plot(t,x(:,2)); grid; ylabel('q');
subplot(3, 1, 3);
plot(t,x(:,3)); grid; ylabel('sigma');
模型仿真结果:
S函数仿真结果:
题目2:给出动态方程;
(1) 用MATLAB语言编写S—函数;
(2) 用命令行gear/adams法对(1)进行仿真,显示曲线x(t=0:100);
(3) 建立方框图,用RK45仿真50秒,显示曲线
答:
(1)用MATLAB语言编写S—函数
function[sys,x0,str,ts]=CAD2_sfun(t,x,u,flag)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
case 1
sys=mdlDerivatives(t,x,u);
case 3
sys=mdlOutputs(t,x,u);
case {2,4,9}
sys=[];
otherwise
error('unhandled flag=',num2str(flag))
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;
=2;
=0;
=2;
=0;
=1;
=1;
sys=simsizes(sizes);
str=[];
x0=[1,0];
ts=[0