飞行器实时仿真算法研究本科毕业论文.doc

上传人:壹****1 文档编号:560845044 上传时间:2023-11-27 格式:DOC 页数:44 大小:906.50KB
返回 下载 相关 举报
飞行器实时仿真算法研究本科毕业论文.doc_第1页
第1页 / 共44页
飞行器实时仿真算法研究本科毕业论文.doc_第2页
第2页 / 共44页
飞行器实时仿真算法研究本科毕业论文.doc_第3页
第3页 / 共44页
飞行器实时仿真算法研究本科毕业论文.doc_第4页
第4页 / 共44页
飞行器实时仿真算法研究本科毕业论文.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《飞行器实时仿真算法研究本科毕业论文.doc》由会员分享,可在线阅读,更多相关《飞行器实时仿真算法研究本科毕业论文.doc(44页珍藏版)》请在金锄头文库上搜索。

1、本科毕业设计论文题 目飞行器实时仿真算法研究专业名称飞行器设计与工程学生姓名指导教师毕业时间设计论文 毕业 任务书一、题目飞行器实时仿真算法研究二、指导思想和目的要求1. 通过毕业设计,培养学生解决工程实际问题的独立科研能力,熟悉并掌握从事科学研究的一般方法和基本技能。2. 巩固所学专业基础知识和专业知识,加深对飞行力学、飞行仿真计算等专业知识的理解,完成基于C+的飞行仿真算法开发。3学习、掌握GSL、VC+软件的仿真程序设计,完成基于RTX实时环境算法库开发。三、主要技术指标完成GSL代码由C到C+转化.应用VC+完成GSL的Lib和DLL多种应用开发.完成基于RTX实时仿真应用.四、进度和

2、要求查阅相关资料第3周翻译两篇于论文相关的英文资料第4周学习基于C的GSL开源软件使用第34周完成GSL代码由C到C+转化第58周应用VC+完成GSL多种应用开发第910周完成基于RTX实时仿真应用第1115周仿真结果分析、撰写论文第1617周准备毕业设计答辩第18周五、主要参考书及参考资料1William H. Press.NUMERICAL RECIPES,Third Edition, Cambridge University Press, 20082Ardence Company,RTX 8.1 SDK Release Notes,US, 2007.学生 _ 指导教师 _ 系主任 _ 本

3、科毕业设计论文目 录目 录I摘 要IIIABSTRACTIV第1章 前 言11.1实时飞行仿真算法开发目的和意义11.2国内外发展情况11.3开发内容2第2章 需求分析32.1向量32.2矩阵32.3随机数42.4插值4第3章 算法设计与编程实现53.1工程框架的搭建53.2向量63.2.1向量结构体63.2.2向量类的构架73.2.3 GneVector接口83.2.4 ConstVectorView接口93.2.5 AlmostVector接口103.2.6 Vector接口103.2.7 VectorView接口113.2.8 补充说明123.3矩阵133.3.1矩阵结构体143.3.2

4、矩阵类的构架143.3.3接口153.4随机数153.4.1随机数类的构架163.4.2使用示例183.4.3性能分析183.5插值213.5.1插值基类的构架213.5.2线性插值243.5.3拉格朗日插值253.5.4三次样条插值263.5.5插值接口26第4章 实时环境测试294.1测试环境294.2测试算例1294.3测试算例230第5章 结论31致 谢32参考文献33毕业设计小结34附 录35II摘 要本文研究的主要内容是飞行器实时仿真算法,包括向量、矩阵、随机数、插值、微分方程的初值问题。数值计算中的其他部分,具体代码中也有涉及,但由于篇幅所限,未在论文中阐述。在第三章中对每一部分

5、都做了详细的论述,并使用C+语言给出具体的实现和接口,尽量使得算法库具有较高的代码可重复使用性,较快的执行速度,较高的效率和简单的接口。论文结尾给出了该算法库在RTX系统下的测试示例。关键词 通用科学计算库;飞行器仿真算法;多维插值ABSTRACTThis paper is mainly on real-time simulate algorithm of flight vehicle, including vector,matrix,random number,interpolation. Other parts of numeric algorithm are also mentioned

6、 in the source code.Each of them is discussed in the third chapter in detail, and by using C+ language, the specific implementation and the user interface is given. The purpose of this is to make this algorithm library reusable, high speed, high efficiency, and simple interface.Some test examples ar

7、e given in the the end of the paper.KEY WORDS GSL,;flight vehicle simulation alogrithm,;multi-dimension interpolation36第1章 前 言1.1实时飞行仿真算法开发目的和意义1.通过毕业设计,培养学生解决工程实际问题的独立科研能力,熟悉并掌握从事科学研究的一般方法和基本技能。2.巩固所学专业基础知识和专业知识,加深对飞行力学、飞行仿真计算等专业知识的理解,完成基于C+的飞行仿真算法开发。3.学习、掌握GSL、VC+软件的仿真程序设计,完成基于RTX实时环境算法库开发。1.2国内外发

8、展情况就目前来看,最常用的科学计算仿真工具应该是matlab莫属了,matlab有很多优点,界面友好,易于操作,强大的工具箱,对矩阵支持良好。但是自matlbab7.0之后,matlab有了自己的虚拟机,不再支持将其代码转为C或C+了,而且用matlab写出的程序不能做成产品,不如其他语言通用。matlab最大的缺点就是循环速度奇慢无比,当然这是解释性语言的通病。编译性语言中,常用的科学计算仿真库也有很多,GSL最为通用,与blitz+和MTL并称为当前三大支持科学计算的数值库,。GSL全称GNU Scientific Library,是GNU项目的组成部分,遵循GPL协议。GSL一个非常全面

9、的数值计算库,使用C语言编写,提供了很多API接口供用户或者其他语言调用。包含数值计算的很多方面,如随机数,向量,矩阵,常微分方程初值问题,特殊函数,积分,线性代数,傅里叶变换,最小二乘法,统计,排列,组合,特征值的求解等等。GSL的优点是运行速度快,尤其矩阵和向量是使用第三方库CBLAS,所以矩阵运算的速度和matlab不相上下(matlab矩阵底层也是用CBLAS库实现的)。缺点是使用非常不方便,用户要负责大量的内存分配和释放工作,时刻注意内存是否泄漏,花费大量精力去维护代码,而不是专注于算法本身。1.3开发内容此次毕业设计的主要内容如下1. 完成GSL代码由C到C+转化。2. 设计并实现

10、多维插值算法3. 应用VC+完成GSL的Lib和DLL多种应用开发。4. 完成基于RTX实时仿真应用。第2章 需求分析2.1向量需要设计一个类,能对数学上的向量进行描述和运算。并且向量中的元素在内存中所占的空间的大小是相同的。满足如下要求。1. 用户不负责向量类对象内部的任何内存申请和删除工作。2. 支持通过操作符和()对元素进行随机存取。3. 支持基本的向量数学运算,如+-*/,范数,支持叉乘等等。4. 需提供最大值,最小值,平均值,求和等函数。5. 支持多线程。6. 提供向量视图功能(可对向量的局部作为一个独立向量进行操作)。7. 支持C+输入和输出,即需重载操作符。8. 支持自定义类型。

11、2.2矩阵设计一个类,能对数学上的矩阵进行描述和运算。并且矩阵中的元素在内存中所占的空间的大小是相同的。所提供的方法有矩阵元素的存取,矩阵和文件之间的读写,赋值,复制,元素之间的交换,行列的交换,基本算术运算(加、减,乘、除),矩阵乘法,求逆,求行列式,LU分解,QR分解,求迹,最大值和最小值等等。1. 用户不负责矩阵类对象内部的任何内存申请和删除工作。2. 支持通过操作符和()对元素进行随机存取。3. 支持基本的向量数学运算,如+-*/,范数,支持叉乘等等。4. 需提供最大值,最小值,平均值,求和等函数。5. 支持多线程。6. 提供矩阵视图功能(可对矩阵的局部作为一个独立矩阵进行操作)。7.

12、 支持C+输入和输出,即需重载操作符。8支持自定义类型。9矩阵求逆,行列式,LU分解,高斯分解,SV分解,求迹,求秩10单位矩阵2.3随机数设计一个随机数类CRandom,满足如下要求:1. 支持多种随机数算法。2. 可以返回每种算法支持的区间中的随机值。3. 可以返回区间0,1)中浮点数。4. 可以返回区间0,n-1中的整数,n由用户提供。5. 可以返回每种算法所能产生的最大随机值,最小随机值。6. 可以保存每种随机数算法的当前状态,并且也可以导入已存的状态。7. 可以动态改变随机数算法。8. 用户不负责类对象内部的任何内存释放和删除工作。2.4插值设计一组类,支持N维插值, 使用拉格朗日和

13、三次样条插值公式。具体需求:1使用纯C+语法和函数,必须具有可移植性。2支持多线程。3不同插值方法的插值接口统一。4设计一种基于xml格式的插值表。5用户不负责插值类内部的任何内存分配和释放工作。6接口简单明了,使用方便。7默认插值表的每一维都是有序表(递增或递减)。8支持的插值算法有线性插值,三次样条插值,n阶多项式插值。第3章 算法设计与编程实现3.1工程框架的搭建工程名字为NSL(nwpu scientific library)工程目录结构图如下其中build目录中为工程生成的可执行文件,包括dll,lib,或者exe。example目录中为工程代码使用的示例。include 目录中为工

14、程中使用到的头文件,可以和build目录一起交付给用户使用。src目录中为工程的实现源码。project目录中为工程文件。所有文件都要包含的预编译头文件是NSL.h,预编译宏定义大致如下:#ifdef WIN32# ifdef NSL_DLL# ifdef DLL_EXPORT# define NSL_VAR extern _declspec(dllexport)# define NSL_EXPORT _declspec(dllexport)# else# define NSL_VAR extern _declspec(dllimport)# define NSL_EXPORT _declspec(dllimport)./* Turn range checking on by default, unless the user definesNSL_RANG

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号