参考文献:《最优控制与姿控喷流在导弹姿态控制中的应用》

%跟踪正弦结果可以看出,实际偏航角与指令值存在一定的跟踪误差
%从仿真结果可以看出,时间最优bang-bang控制律是以牺牲跟踪精度来满足时间最短的要求clear
clcA=2500;
B=10.625;
a=A/B;
Mf=245;x1=0;%偏航角初始值
x2=0;%偏航角速率初始值
n=1;
t=0;
dt=0.001;
for i=1:20000feac=30*pi/180;%期望的偏航角---常值% feac=5*sin(pi/5*t)*pi/180;%期望的偏航角---正弦值fea2=feac-a*x2+Mf/B*a*sign(x2)*log(1+B/Mf*abs(x2));%开关线方程if x1>fea2U=-1;endif x1<fea2U=1;endif x1==fea2 && x2>0U=-1;endif x1==fea2 && x2<0U=1;endif x1==fea2 && x2==0U=0;end
%         if abs(x1-feac)<0.001%当误差足够小时不再调整
%             U=0;
%         endDx1=x2;Dx2=-B/A*x2+U*Mf/A;x1=x1+Dx1*dt; %x1为偏航角x2=x2+Dx2*dt;%x2为偏航角速率store(:,n)=[x1;x2;U*Mf;feac];n=n+1;t=t+dt;endfigure(1)plot((1:n-1)*dt,store(1,:)*180/pi,(1:n-1)*dt,store(4,:)*180/pi,'-.')xlabel('time(s)')ylabel('偏航角(deg)')legend('实际值','指令值')grid onfigure(2)plot((1:n-1)*dt,store(2,:))xlabel('time(s)')ylabel('偏航角速率(rad/s)')grid onfigure(3)plot((1:n-1)*dt,store(3,:))xlabel('time(s)')ylabel('侧喷力矩(N*m)')grid on
%1、只考虑偏航角fea初始值的不同,固定偏航角速率的初始值,令其一直为零,得到图2曲线结果
%2、只考虑偏航角速率初始值的不同,固定偏航角的初始值,令其一直为零,得到曲线结果与图2相比,只是位置左右平移而已
%3、这说明,偏航角、偏航角速率的初始值不影响曲线的形状,只影响曲线的位置
%如果
clear
clcA=2500;
B=10.625;
a=A/B;
Mf=245;fea0=0;
omega_y0=0;for fea0=0.6:-0.2:-0.6%赋予偏航角不同的初始值
%for omega_y0=0.4:-0.2:-0.4 %赋予偏航角速率不同的初始值n=1;for omega_y=-0.4:0.01:0.4fea=fea0-a*(omega_y-omega_y0)-Mf/B*a*log((1-B/Mf*omega_y)/(1-B/Mf*omega_y0));fea1=fea0-a*(omega_y-omega_y0)+Mf/B*a*log((1+B/Mf*omega_y)/(1+B/Mf*omega_y0));store(:,n)=[omega_y;fea;fea1];n=n+1;endfigure(1)plot(store(2,:),store(1,:),store(3,:),store(1,:),'r-.')xlabel('偏航角(rad)')ylabel('偏航角速率(rad/s)')legend('+Mf','-Mf')grid onhold on
end
%1、只考虑偏航角fea初始值的不同,固定偏航角速率的初始值,令其一直为零,得到图2曲线结果
%2、只考虑偏航角速率初始值的不同,固定偏航角的初始值,令其一直为零,得到曲线结果与图2相比,只是位置左右平移而已
%3、这说明,偏航角、偏航角速率的初始值不影响曲线的形状,只影响曲线的位置clear
clcA=2500;
B=10.625;
a=A/B;
Mf=245;fea0=0;%偏航角初始值
omega_y0=0;%偏航角速率初始值
feac=30*pi/180;%期望的偏航角
for fea0=0.6:-0.2:-0.6%赋予偏航角不同的初始值
%for omega_y0=0.4:-0.2:-0.4 %赋予偏航角速率不同的初始值n=1;for omega_y=-0.4:0.01:0.4fea=fea0-a*(omega_y-omega_y0)-Mf/B*a*log((1-B/Mf*omega_y)/(1-B/Mf*omega_y0));%+Mf作用下的方程fea1=fea0-a*(omega_y-omega_y0)+Mf/B*a*log((1+B/Mf*omega_y)/(1+B/Mf*omega_y0))%-Mf作用下的方程;fea2=feac-a*omega_y+Mf/B*a*sign(omega_y)*log(1+B/Mf*abs(omega_y));%开关线方程,store(:,n)=[omega_y;fea;fea1;fea2]n=n+1;endfigure(1)plot(store(2,:),store(1,:),store(3,:),store(1,:),'r-.',store(4,:),store(1,:),'y+')xlabel('偏航角(rad)')ylabel('偏航角速率(rad/s)')legend('+Mf','-Mf','开关线')grid onhold on
end


(源代码)最优控制与姿控喷流在导弹姿态控制中的应用相关推荐

  1. 【控制】基于气动力的导弹姿态控制含Matlab源码附报告

    1 简介 对于大气层内飞行的导弹,为了使其准确的完成飞行,首要任务是使其姿态保持稳定.导弹的姿态控制系统是导弹飞行成败的关键系统之一,姿态控制过程和方法一直备受关注,它在导弹设计.使用.储存的整个生命 ...

  2. 编写代码,实现信用卡诈检测。数据creditcard.csv。要求:使用多种机器学习算法训练模型,并对比结果。根据代和代码果,撰写作业。作业文件格式pdf,把源代码和输出结果拷贝到word文件中,根据

    编写代码,实现信用卡诈检测.数据creditcard.csv.要求:使用多种机器学习算法训练模型,并对比结果.根据代和代码果,撰写作业.作业文件格式pdf,把源代码和输出结果拷贝到word文件中,根据 ...

  3. 多旋翼姿态控制中前馈的作用

    多旋翼姿态控制中前馈的作用 PX4中偏航通道的控制使用到了前馈,关于这个前馈环节对系统性能的具体影响,此前我一直理解的比较模糊,直到最近和zing大神交流后才有了新的理解:本篇博文主要来从不同角度解释 ...

  4. [以太坊源代码分析] IV. 椭圆曲线密码学和以太坊中的椭圆曲线数字签名算法应用

    数字签名算法在Ethereum中的应用不少,目前已知至少有两处:一是在生成每个交易(Transaction, tx)对象时,对整个tx对象进行数字签名:二是在共识算法的Clique算法实现中,在针对新 ...

  5. PHP-7.1 源代码学习:字节码在 Zend 虚拟机中的解释执行 之 概述

    本文简要介绍 zend 虚拟机解释执行字节码的基本逻辑以及相关的数据结构,关于 PHP 源代码的下载,编译,调试可以参考之前的系列文章 execute_ex 我们来看看执行一个简单的脚本 test.p ...

  6. php 字节码查看,PHP-7.1 源代码学习:字节码在 Zend 虚拟机中的解释执行 之 概述...

    前言 本文简要介绍 zend 虚拟机解释执行字节码的基本逻辑以及相关的数据结构,关于 PHP 源代码的下载,编译,调试可以参考之前的系列文章 execute_ex 我们来看看执行一个简单的脚本 tes ...

  7. 《Android系统源代码情景分析》一书正在连载中

    进击的程序员:http://0xcc0xcd.com,PC版和移动版同时进行,感谢大家支持!

  8. c语言圆弧插补源代码,模拟PLC 的圆弧插补方式在VC中绘制圆弧

    最近同事想让要做一个绘图的控件.VC里面的画弧函数Arc需要提供外接矩形的坐标.同事觉得不好用,他更习惯圆弧插补的那种方式.于是看了看圆弧插补的东西.其实这种画弧方式就是提供圆弧的起点.终点和半径来画 ...

  9. 自动化专题讲座:导弹制导控制律综述与分析

    摘  要:随着时代的发展,军事技术和现代技术也在迅速变化,对精确制导的需求日益增加,制导技术广泛应用于需要拦截或精确命中目标的领域.不同于传统的空中目标拦截.空间目标和近空间高超音速目标等特殊拦截要求 ...

最新文章

  1. Linux最大打开文件描述符数
  2. 记录一个免费而且好用的SSH登录软件_SecureCRT
  3. 记一次discuz修改首页图片路径问题
  4. 送书福利 | 哈工大SCIR倾力打造NLP新书,详解预训练语言模型
  5. 抗震求灾捐款,我们公司总额为:14222
  6. java线程的创建线程_多线程(Thread、线程创建、线程池)
  7. 别小看无人配送,长大了就是自动驾驶的最终实现。
  8. port security violation protect retrict shutdown 之具体解释
  9. OTcl与C++,NS2是如何识别并调用执行协议的 转自百思论坛
  10. 图像处理中滤波(filtering)与卷积(convolution)的区别
  11. 使用scrapy来抓取 ChinaPub 这个网站上的图片_并且将其下载到本地
  12. python卡方拟合优度检验_如何使用Python中的科学库执行卡方拟合优度测试?
  13. C数据结构排序算法——希尔排序法用法总结(转http://www.cnblogs.com/skywang12345/p/3597597.html)...
  14. 矩阵A的值域空间和其零空间
  15. 使用Docker安装MySQL
  16. html5绘制节点链接,利用HTML5实现网状结构节点动画特效
  17. 申请CVE的姿势总结
  18. 深度剖析头条面试真题 | 二叉树那点事儿
  19. Mybatis多条件筛选
  20. 几种Linux备份方法

热门文章

  1. MIT线性代数笔记三 矩阵的乘法和逆矩阵
  2. 分享一个简单、便宜配置https安全证书的方法(10元/年)
  3. 公司测试员用例写得乱七八糟,测试总监制定了这份《测试用例编写规范》
  4. EndNote登录或注册方法
  5. 自定义考勤统计日历(二)
  6. 工具分享:图片水印工具(WaterMarker)
  7. vi格式化输出Json格式数据方便查看修改
  8. A-瑞神的序列 B- 消消乐大师-Q老师(M3)
  9. Java为 pdf、word和excel添加水印
  10. OCR手写数字识别什么软件好用?介绍一种