比例导引 matlab,比例导引法Matlab仿真.docx
%三维制导模型,比例导引法求解%源代码作者不详,注释人: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相关推荐
- Matlab:序列分析法MATLAB代码
Matlab:序列分析法MATLAB代码 目录 输出结果 设计代码 输出结果 更新-- 设计代码 ###下面所有带代码中的n值需要以自己输入的数据为准###1.简单一次滑动平均法预测MATLAB程序代 ...
- 目标层准则层MATLAB,层次分析法-MATLAB
层次分析法-MATLAB 第八章 层次分析法 层次分析法(Analytic Hierarchy Process,简称AHP)是对一些较为复杂.较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全 ...
- 低通采样定理 matlab,基于Matlab的低通抽样定理仿真.docx
DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: 陈兰兰学号: 指导教师: 刘 德 春 阿坝师专电子信息工程系DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: ...
- MATLAB牛拉法,MATLAB潮流程序(IEEE14直角坐标牛拉法).doc
MATLAB潮流程序(IEEE14直角坐标牛拉法) MATLAB潮流程序(IEEE14 直角坐标 牛拉法) clear baseMVA=100; %功率基值 %%读Data1中数据 load Data ...
- 核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]; ...
- matlab求双线性变换法,[Matlab]双线性变换法设计数字低通滤波器
测试代码: %%****bin_lp.m*******************%% %% 使用双线性变换法设计低通滤波器 %% 2018年6月13日 14:27:37 %% author:Alimy ...
- ofdm 迭代限幅 matlab,ofdm限幅法matlab的程序
%clipping technique %papr of the ofdm signals clear all; close all; c1=64; %载波数 n1=20000; %符号数 Fs=10 ...
- 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= ...
- matlab比例仿真,基于MATLAB的电液比例控制系统仿真研究
第 1 期 (总第 140 期) 2007 年 2 月 机 械 工 程 与 自 动 化 M ECHAN ICAL EN GIN EER IN G & AU TOMA T ION No1 Feb ...
- 用相关法辨识系统的脉冲响应 matlab,基于相关分析法的系统辨识算法对比及仿真...
计算机工程应用技术 ComputerKnowledgeand Technology 电脑知识第12卷第9期 (2016年3月) 基于相关分析法的系统辨识算法对比及仿真 冀征难 (国防科技大学 机电工程 ...
最新文章
- 安测云验证有CTA问题
- 北邮国院c语言期末考试题,北邮C语言复习题2014.ppt
- 开关电源反馈环路设计matlab,开关电源控制环路设计(初级篇).pdf
- Raspberry Pi 3 计算模块,CPU性能提高了十倍
- 休眠事实:等于和HashCode
- php毕设,php毕设
- 恋与制作人 服务器错误,恋与制作人安装失败怎么办_恋与制作人安装失败解决方法_游戏吧...
- C++11新特性探索:原始字符串字面值(raw string literal)
- (软件工程复习核心重点)第二章可行性研究-第四节:数据字典
- Java - package和import
- JavaScript:原型设计模式
- Centos修改默认网卡名
- 14.Adding Frontend Files to your Module
- github协同工作流程(一)
- java验证身份证合法性_Java安全性,第2部分:身份验证和授权
- java工单系统源码_基于jsp的工单管理系统-JavaEE实现工单管理系统 - java项目源码...
- 算法系列——输出所有的笛卡尔积组合
- NEON指令优化指南学习之一
- BT656(4:2:2)YCbCr标准规范
- 三菱V3菱悦智能遥控匹配详细的(两种)方法 配钥匙