航空科学与工程学院《飞行仿真实验》实验报告(一)学生姓名:彭尧坤学号:35050109专业方向:飞行力学与控制指导教师:王维军2008年3月9日实验一简单二阶系统仿真实验实验所属课程名称:飞行仿真(FlightSimulation)一.实验目的了解仿真技术的主要内容,通过简单的入门训练,让学生动手建模和解算,初步了解仿真的主要过程,以形成计算机仿真的初步感性认识。二.实验内容及步骤---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---1.了解仿真技术概述和相关文献,建立简单的弹簧阻尼二阶系统数学模型;2.分别采用欧拉法和龙格库塔法建立给定系统的计算机离散仿真解算模型;3.使用C/C++语言编写非实时仿真计算程序,包括上面两种数值积分算法(欧拉法和龙格库塔法)在两种标准输入下(脉冲和阶跃)的仿真运算,调试并运行程序;4.合理选取数值积分的步长,选用熟悉的曲线绘图工具打印上面四种时间响应仿真计算结果,分析比较两种算法的特点;5.根据响应的结果,通过作图法求解出所选二阶系统动态特性的参数(周期、半衰期、超调量、调节时间等)。6.修改物理系统参数重新进行仿真解算,观察系统时间响应随系统参数的变化情况。打印典型结果并说明。三、实验要求及考核方式1.要求学生直接上机独立列写方程,编写计算机程序解算,得出正确的数据结果和曲线图。注意数据单位、曲线图示等的规范化。2.根据实验内容的6个步骤,按照给定的封面格式,分6个主要部分撰写实验报告。严禁抄袭!3.本次实验报告占总成绩的40%。四、实验报告正文1.数学模型的建立:---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---如上图所示,在外力F(t)的作用下,如果弹簧恢复力和阻尼力与F(t)不能平衡,则质量块m将有加速度,进而使速度和位移发生变化。根据牛顿第二定律,可得:2.用数值分析方法建立计算机离散仿真解算模型:将上述模型方程转换可得:令:=,则有化为一阶方程组的初值问题---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---y(t)F(t)mkf(,,)yftyy图中:F(t)-------作用于系统的外力;y(t)-------质量块m的位移;k-------弹簧比例系数;f-------阻尼系数。a.四阶龙格-库塔格式其中,b.改进的欧拉格式预报校正3.程序的编写及运行:阶跃输入的龙格-库塔格式程序:#include<stdio.h>main()---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---11234(22)6nnhzzLLLL{doubleshuru(floata,floatb,floatc);intN,i,n,j,k,r,s;floatt0,h,x1,x2;floatarray[20][8];doubley,z,y0,z0,K1,K2,K3,K4,L1,L2,L3,L4;y0=0;t0=0;z0=0;h=0.1;N=80;for(i=1;i<=N;i++){x1=t0+1/2*h;x2=t0+h;K1=z0;L1=shuru(t0,y0,z0);K2=z0+h/2*L1;L2=shuru(x1,y0+1/2*h*K1,z0+1/2*h*L1);K3=z0+h/2*L2;L3=shuru(x1,y0+1/2*h*K2,z0+1/2*h*L2);K4=z0+h*L3;L4=shuru(x2,y0+h*K3,z0+h*L3);y=y0+h/6*(K1+2*K2+2*K3+K4);z=z0+h/6*(L1+2*L2+2*L3+L4);if(i%4!=0){n=i%4;k=2*(n-1);j=i/4;array[j][k]=i;k=k+1;array[j][k]=y;}if(i%4==0){j=i/4;array[j-1][6]=i;array[j-1][7]=y;}t0=x2;y0=y;z0=z;}for(r=0;r<=19;r++){for(s=0;s<=7;s++)---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---printf("%5.4f",array[r][s]);printf("\n");}}doubleshuru(floata,floatb,floatc){floatA,B,C,F,z,m,k,f;m=3.0,k=5.0,f=0.8;F=5.0;A=F/m;B=k/m;C=f/m;z=A-B*b-C*c;return(z);}脉冲输入的龙格-库塔格式程序:#include<stdio.h>main(){doubleshuru(floata,floatb,floatc);intN,i,n,j,k,r,s;floatt0,h,x1,x2;floatarray[20][8];doubley,z,y0,z0,K1,K2,K3,K4,L1,L2,L3,L4;y0=0;t0=0;z0=0;h=0.1;N=80;for(i=1;i<=N;i++){x1=t0+1/2*h;x2=t0+h;K1=z0;L1=shuru(t0,y0,z0);K2=z0+h/2*L1;L2=shuru(x1,y0+1/2*h*K1,z0+1/2*h*L1);---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---K3=z0+h/2*L2;L3=shuru(x1,y0+1/2*h*K2,z0+1/2*h*L2);K4=z0+h*L3;L4=shuru(x2,y0+h*K3,z0+h*L3);y=y0+...