首先我们拿到代码压缩包打开后一定很迷,文件夹下很乱,所以用matlab打开,按文件名称归类再看会更合适。

在“名称”右边空白右键单击,选择按类型排序,这三个脚本就是我们的主函数所在,可以去看操作手册或者自己领悟,第一个主函数就是runF16Sim.m,点开它

这里的代码有一大堆菜单的输入和输出,只要注意它不要越界,依次向下按要求输入即可,

直到遇到第一个函数

需要注意上一次的输入一大推有限制的数据是指对应的扰动,而不是对应的数值,这里赋值的地方才是推力、升降舵、副翼和襟翼

这个函数点进去也是一通操作,直到配平的这里

这是一个求最小值函数,目标函数就是cost,,计算方法也就是

公式为

 这个最终求到的cost要非常小,且要多次循环计算,直到cost的值不再变化,当cost很小之后,可以假设cost这些项的值都为零,这样飞行器就会做一个正常的匀速运动,所谓配平就是这样。

这个函数运行完毕后,回到runF16Sim.m内

这一句就是运行Simulink文件,

先看输入项

这个模块是为了模拟真实条件下的阶跃信号的产生,要给阶跃信号一定的时间 ,所谓的一阶滞后校正即是如此。out就是我们之前说的扰动,阶跃是由之前在造作空间的输入确定的,可以单独看一下这个模块的作用,中间的数字越大,响应越快。

再看控制模块

总共是12+4+1+1共18个输入,分别为12个状态量,4个输入量,一个前向襟翼,一个高低保真率的判断,之后就要作为输入进入最重要的nplant,c文件,首先是调用函数 void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) ,这四个参数,分别是输入的个数,输入数组,输出的个数,输出的数组。mxGetM(XU)是获得XU的行数,mxGetN(XU)是获得XU的列数,mxGetPr(XU)是获得XU的第一个数的指针, mxCreateDoubleMatrix(18, 1, mxREAL)是获得一个18*1的实数数组。

这里的代码

对应的公式是

首先要明确攻角和侧滑角的定义

F16代码详解从一个初学者的的角度结合飞行器原理和公式(内附代码,Simulink model 和手册在压缩包)相关推荐

  1. Pytorch|YOWO原理及代码详解(二)

    Pytorch|YOWO原理及代码详解(二) 本博客上接,Pytorch|YOWO原理及代码详解(一),阅前可看. 1.正式训练 if opt.evaluate:logging('evaluating ...

  2. 标准oc算法的推导与99行代码详解

    文章目录 标准oc算法的推导与代码详解 问题描述 OC算法的数学描述 结果展示 OC算法的matlab代码及注释 参考文献 标准oc算法的推导与代码详解 对于变密度的参数化方法,设计变量x为材料相对密 ...

  3. VINS技术路线与代码详解

    VINS技术路线 写在前面:本文整和自己的思路,希望对学习VINS或者VIO的同学有所帮助,如果你觉得文章写的对你的理解有一点帮助,可以推荐给周围的小伙伴们,当然,如果你有任何问题想要交流,欢迎随时探 ...

  4. 常见字典用法集锦及代码详解

    目录 前言 字典的简介 1. 字典对象 1.1 Add 方法 1.2 Exists 方法 1.3 Keys 方法 1.4 Items 方法 1.5 Remove 方法 1.6 RemoveAll 方法 ...

  5. 深度篇——目标检测史(七) 细说 YOLO-V3目标检测 之 代码详解

    返回主目录 返回 目标检测史 目录 上一章:深度篇--目标检测史(六) 细说 YOLO-V3目标检测 下一章:深度篇--目标检测史(八) 细说 CornerNet-Lite 目标检测 论文地址:< ...

  6. FPN论文解读 和 代码详解

    FPN论文解读 和 代码详解 论文地址:[Feature Pyramid Networks for Object Detection](1612.03144v2.pdf (arxiv.org)) 代码 ...

  7. java一个方法排他调用_Java编程实现排他锁代码详解

    一 .前言 某年某月某天,同事说需要一个文件排他锁功能,需求如下: (1)写操作是排他属性 (2)适用于同一进程的多线程/也适用于多进程的排他操作 (3)容错性:获得锁的进程若Crash,不影响到后续 ...

  8. 简单跑酷java代码_如何实现一个简单的跑酷游戏?(代码详解)

    本篇文章给大家带来的内容是介绍如何实现一个简单的跑酷游戏?(代码详解).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 采用的物理引擎是:Phaser.js 官网地址:http:// ...

  9. nodeJS入门——新建一个项目及代码详解

     nodeJS入门--新建一个项目及代码详解 有了解nodejs的童鞋们知道,nodejs有很多的依赖,那么我们在新建一个项目的时候,如何快速的导入这些依赖从而创建一个nodejs项目呢,接下来会 ...

最新文章

  1. LSTM 为何如此有效?这五个秘密是你要知道的
  2. LINUX系统管理员技术(Admin)-------第三天
  3. PPT文字怎样规划 哪里可以代做PPT
  4. 数据库跟尾过多的错误,能够的原因阐发及处置惩罚设备
  5. VMWare安装Ubuntu18时卡住
  6. 常见的一些 Hash 函数
  7. C++运算符重载(10)
  8. thinkphp三级分销小程序源码_山东谷道微信小程序商城源码带后台 公众号平台三级分销系统...
  9. 李航老师亲自推荐的《统计学习方法》课件下载
  10. plantUml活动图(新语法)
  11. c语言注释符的作用有哪两种,C语言编程的注释符号是?
  12. oracle12c新特点之可插拔数据库(Pluggable Database,PDB)
  13. 第三百一十八节,Django框架,信号
  14. 解决 Eclipse不支持tomcat9
  15. 吉林大学计算机数据中心排名,2018年度中国医院排行榜发布,吉大一院跻身50强!...
  16. SnapGene如何设计sgRNA,构建载体,对靶基因进行敲除
  17. 技术岗的职业规划_技术人员职业发展规划
  18. 玄学:那些年我为之疯狂的超能力(有音频版)
  19. php条件查询,PHP-----多条件查询(示例代码)
  20. IDEA打可执行jar包详细教程(包含依赖的所有jar包)

热门文章

  1. SAP 查找SPRO用户化实施指南对应Tcode(知识来自Tiger老胡)
  2. 利用php的mcrypt模块加密解密(AES、DES等等)
  3. 网络广告课堂笔记[转]
  4. c语言指针占两个字符,怎么 判断一个字符串指针的前二个字符是f:quot
  5. tomcat访问其他html文件类型,tomcat配置mime-mapping 实现自动匹配文件类型html等
  6. 【负荷预测】年月日及时间序列负荷预测(Python代码实现)
  7. 图像质量评估(9) -- 杂散光(炫光,Flare,Glare)
  8. 看不到小说?直接爬虫
  9. 远程控制预付费集中抄表系统
  10. 四元数非正式笔记梳理_Quaternion kinematics for the error-state Kalman filter