%三维制导模型,比例导引法求解%源代码作者不详,注释人:lylogn%Modified by lylogn,2012年4月17日clear all;close all;clc?dt=0.1;%仿真时间步长alpha=pi/6;v_t=0.42;s_t=v_t*dt;%目标以0.42的速度沿alpha的角方向匀速飞行,s_t为目标在单位仿真步长前进的距离v_m=0.60;s_m=v_m*dt;%s_m为导弹在单位仿真步长沿目前速度方向前进的距离x(1)=0;y(1)=1.0;z(1)=0;?pmr(:,1)=[x(1);y(1);z(1)];?%导弹初始位置,在坐标原点ptr(:,1)=[25;5;7];?%目标初始位置K=3;?%比例导引系数q(1)=0;?%初始的视线角,设定参考线为t和m初始位置的连线o(1)=0;?%初始导弹速度向量方向角a(1)=0;?%初始导弹相对目标的运动速度向量的方向角for(k=2:600)?ptr(:,k)=[ptr(1,1)-v_t*cos(alpha)*dt*k;ptr(2,1);ptr(3,1)+v_t*sin(alpha)*k*dt];?%目标运行轨迹方程,匀速直线运动r(k-1)=sqrt((ptr(1,k-1)-pmr(1,k-1))^2+(ptr(2,k-1)-pmr(2,k-1))^2+(ptr(3,k-1)-pmr(3,k-1))^2);%k-1时刻导弹与目标在三维空间中的欧氏距离c=sqrt((ptr(1,k)-pmr(1,k-1))^2+(ptr(2,k)-pmr(2,k-1))^2+(ptr(3,k)-pmr(3,k-1))^2);?%目标k时刻位置与导弹k-1时刻位置间的距离b=acos((r(k-1)^2+s_t^2-c^2)/(2*r(k-1)*s_t));?%%%此处参见公式一%%%dq=acos((r(k-1)^2-s_t^2+c^2)/(2*r(k-1)*c));%k-1时刻到k时刻的视线角变化量(假设导弹不动,目标移动)%%%此处参见图一%%%if abs(imag(b))>0?%如果acos的值出现虚数,则说明该角度一定很小,对其进行近似操作b=0.0000001;?end?if abs(imag(dq))>0?%同上dq=0.0000001;?end?q(k)=q(k-1)+dq;?%更新视线角o(k)=o(k-1)+K*dq;?%更新导弹速度向量方向角a(k)=o(k)-q(k);?%更新导弹相对目标的运动速度向量的方向角c1=r(k-1)*sin(b)/sin(a(k)+b);?%计算k-1时刻角b所对边的长度%%%此处参见公式二%%%c2=r(k-1)*sin(a(k))/sin(a(k)+b);?%计算k-1时刻角a(k)所对边的长度c3=sqrt((c1-s_m)^2+(c2-s_t)^2+2*(c1-s_m)*(c2-s_t)*cos(a(k)+b));?%计算k时刻导弹m与目标t之间的距离(在导弹不动,目标移动的假设条件下),为假值dq=a(k)-acos(((c1-s_m)^2+c3^2-(c2-s_t)^2)/(2*(c1-s_m)*c3));?%k-1时刻到k时刻的视线角变化量(假设导弹移动,目标也移动),以下代码重复以上过程,为假值%%%此处参见图二%%%if abs(imag(dq))>0?dq=0.0000001;?end?q(k)=q(k-1)+dq;?o(k)=o(k-1)+K*dq;?a(k)=o(k)-q(k);?c1=r(k-1)*sin(b)/sin(a(k)+b);?c2=r(k-1)*sin(a(k))/sin(a(k)+b);?c3=sqrt((c1-s_m)^2+(c2-s_t)^2+2*(c1-s_m)*(c2-s_t)*cos(a(k)+b));?%计算k时刻导弹m与目标t之间的距离(在导弹移动,目标也移动的假设条件下),逼近真值,以下计算使之更加精确dq=a(k)-acos(((c1-s_m)^2+c3^2-(c2-s_t)^2)/(2*(c1-s_m)*c3));?%k-1时刻到k时刻的视线角变化量(假设导弹移动,目标也移动),以下代码重复以上过程,为真值if abs(imag(dq))>0?dq=0.0000001;?end?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?ded by lylogn 2012.04.17,To make 'dq' get closer to its true valueq(k)=q(k-1)+dq;?o(k)=o(k-1)+K*dq;?a(k)=o(k)-q(k);?c1=r(k-1

比例导引 matlab,比例导引法Matlab仿真.docx相关推荐

  1. Matlab:序列分析法MATLAB代码

    Matlab:序列分析法MATLAB代码 目录 输出结果 设计代码 输出结果 更新-- 设计代码 ###下面所有带代码中的n值需要以自己输入的数据为准###1.简单一次滑动平均法预测MATLAB程序代 ...

  2. 目标层准则层MATLAB,层次分析法-MATLAB

    层次分析法-MATLAB 第八章 层次分析法 层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂.较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全 ...

  3. 低通采样定理 matlab,基于Matlab的低通抽样定理仿真.docx

    DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: 陈兰兰学号: 指导教师: 刘 德 春 阿坝师专电子信息工程系DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: ...

  4. MATLAB牛拉法,MATLAB潮流程序(IEEE14直角坐标牛拉法).doc

    MATLAB潮流程序(IEEE14直角坐标牛拉法) MATLAB潮流程序(IEEE14 直角坐标 牛拉法) clear baseMVA=100; %功率基值 %%读Data1中数据 load Data ...

  5. 核fisher matlab,使用Fisher法matlab结合P值?

    我不认为这是建立在MATLAB费舍尔的组合概率测试,但它不应该是很难实现: P = [0.43 0.12 0.0021 0.05 0.017 0.001 0.025 0.038 0.35 0.29]; ...

  6. matlab求双线性变换法,[Matlab]双线性变换法设计数字低通滤波器

    测试代码: %%****bin_lp.m*******************%% %% 使用双线性变换法设计低通滤波器 %% 2018年6月13日 14:27:37 %% author:Alimy ...

  7. ofdm 迭代限幅 matlab,ofdm限幅法matlab的程序

    %clipping technique %papr of the ofdm signals clear all; close all; c1=64; %载波数 n1=20000; %符号数 Fs=10 ...

  8. theta matlab,威尔逊theta法MATLAB程序及算例说明.docx

    单自由度: function [u,u1,u2]=wiltheta(m,k,c,d,e,f,p,theta,t) n=length(p); u=zeros(n,1);u1=zeros(n,1);u2= ...

  9. matlab比例仿真,基于MATLAB的电液比例控制系统仿真研究

    第 1 期 (总第 140 期) 2007 年 2 月 机 械 工 程 与 自 动 化 M ECHAN ICAL EN GIN EER IN G & AU TOMA T ION No1 Feb ...

  10. 用相关法辨识系统的脉冲响应 matlab,基于相关分析法的系统辨识算法对比及仿真...

    计算机工程应用技术 ComputerKnowledgeand Technology 电脑知识第12卷第9期 (2016年3月) 基于相关分析法的系统辨识算法对比及仿真 冀征难 (国防科技大学 机电工程 ...

最新文章

  1. 安测云验证有CTA问题
  2. 北邮国院c语言期末考试题,北邮C语言复习题2014.ppt
  3. 开关电源反馈环路设计matlab,开关电源控制环路设计(初级篇).pdf
  4. Raspberry Pi 3 计算模块,CPU性能提高了十倍
  5. 休眠事实:等于和HashCode
  6. php毕设,php毕设
  7. 恋与制作人 服务器错误,恋与制作人安装失败怎么办_恋与制作人安装失败解决方法_游戏吧...
  8. C++11新特性探索:原始字符串字面值(raw string literal)
  9. (软件工程复习核心重点)第二章可行性研究-第四节:数据字典
  10. Java - package和import
  11. JavaScript:原型设计模式
  12. Centos修改默认网卡名
  13. 14.Adding Frontend Files to your Module
  14. github协同工作流程(一)
  15. java验证身份证合法性_Java安全性,第2部分:身份验证和授权
  16. java工单系统源码_基于jsp的工单管理系统-JavaEE实现工单管理系统 - java项目源码...
  17. 算法系列——输出所有的笛卡尔积组合
  18. NEON指令优化指南学习之一
  19. BT656(4:2:2)YCbCr标准规范
  20. 三菱V3菱悦智能遥控匹配详细的(两种)方法 配钥匙

热门文章

  1. Python使用Turtle画日本国旗
  2. 04 Android Activity生命周期
  3. 存储--盘古,阿里云飞天分布式存储系统设计深度解析
  4. python爬虫天气实例_Python爬虫实例扒取2345天气预报
  5. laravel 构建后台package Voyager 使用笔记
  6. Java项目生成静态页面
  7. C++在一个类中引用另一个类的对象
  8. [旧博客]QQ旋风加速漏洞
  9. 485通讯协议在java中的应用
  10. 无线服务器怎么开启,无线wifi路由器关了怎么开启