资源简介
针对典型导弹导引头模型
进行C++仿真;代码注释丰富
并带有导引头模型说明文档
代码片段和文件信息
/********************************************************************************
**** 名称:Seeker仿真模块 *****
**** 编写:替补哥
**** 日期:2012年11月15日 *****
**** 修改日期: *****
*********************************************************************************/
#include
#include
#include
#include
#include “Seekers.h“
#define SKNS1 3 //微分方程数
#define SKNS 16 //所求变量数
extern double t_stepnow_time; //时间步长
extern CSeekerModel *pSKModel;
extern int SKFlage1SKFlage2;
const double RAD = 57.3;
const double PI = 3.1415926;
ofstream SKFile( “Seeker.txt“ );
ofstream MFile( “motor.txt“ );
ofstream PIDFile( “PID.txt“ );
ofstream SOFile( “SecondOrder.txt“ );
CSeekerModel ::CSeekerModel( )
{
//导引头
SKXS = new double [SKNS]; //所求的变量
SKdXS = new double [SKNS1]; //方程右端
SKXS[0] = 0.0; SKXS[3] = 0.0;
SKXS[1] = 0.0; SKXS[4] = 0.0;
SKXS[2] = 0.0; SKXS[5] = 0.0;
SKXS[6] = 0.0; SKXS[10] = 0.0;
SKXS[7] = 0.0; SKXS[11] = 0.0;
SKXS[8] = 0.0; SKXS[12] = 0.0;
SKXS[9] = 0.0; SKXS[13] = 0.0;
SKXS[14] = 0.0; SKXS[15] = 0.0;
/**/
//电机环节
motorXS = new double [2]; //所求的变量
motordXS = new double [2]; //方程右端
motor_IN = 0.0;
motorXS[0] = 0.0 ; motorXS[1] = 0.0 ;
motordXS[0] = 0.0 ; motordXS[1] = 0.0 ;
//PID环节
PIDXS_TWO = new double [4]; //所求的变量
PIDdXS_TWO = new double [1]; //方程右端
PIDXS_TWO[0] = 0.0; PIDdXS_TWO[0] = 0.0;
PIDXS_TWO[1] = 0.0;
PIDXS_TWO[2] = 0.0;
PIDXS_TWO[3] = 0.0;
PIDXS_ONE = new double [4]; //所求的变量
PIDdXS_ONE = new double [1]; //方程右端
PIDXS_ONE[0] = 0.0; PIDdXS_ONE[0] = 0.0;
PIDXS_ONE[1] = 0.0;
PIDXS_ONE[2] = 0.0;
PIDXS_ONE[3] = 0.0;
//陀螺环节
SOXS = new double [2]; //所求的变量
SOdXS = new double [2]; //方程右端
SO_IN = 0.0;
SOXS[0] = 0.0 ; SOXS[1] = 0.0 ;
SOdXS[0] = 0.0 ; SOdXS[1] = 0.0 ;
cout<< “+ CSeekerModel“< }
CSeekerModel ::~CSeekerModel()
{
delete [SKNS] SKXS;
delete [SKNS1] SKdXS;
delete [2] motorXS;
delete [2] motordXS;
delete [4] PIDXS_ONE;
delete [1] PIDdXS_ONE;
delete [4] PIDXS_TWO;
delete [1] PIDdXS_TWO;
delete [2] SOXS;
delete [2] SOdXS;
cout<< “- CSeekerModel“< }
/***************设置导引头参数***************************/
void CSeekerModel :: setParaments()
{
KP1 = 5;KI1 =0 ;KD1 = 0;
KP2 = 8;KI2 = 10;KD2 = 0;
motorTm = 0.28;motorTd = 0.002;
gyroWf = 140*PI;gyroKc = 0.1;gyroKcf = 0.7;
LimitXF1 = 3.0;LimitXF2 = 26.0;LimitXF3 = 100.0;
return;
}
/******************右端子函数************************/
void CSeekerModel :: SKdery( double *SKdSX double *SKXS )
{
SKdXS
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 522 2012-11-19 19:53 Seekers\Seekers.dsw
文件 66560 2012-11-23 19:44 Seekers\Debug\vc60.idb
文件 77824 2012-11-23 19:44 Seekers\Debug\vc60.pdb
文件 582656 2012-11-23 19:44 Seekers\Debug\Seekers.pdb
文件 0 2012-11-23 19:43 Seekers\Debug\Seekers.sbr
文件 0 2012-11-23 19:44 Seekers\Debug\Simulation.sbr
文件 245833 2012-11-23 19:44 Seekers\Debug\Seekers.exe
文件 140288 2012-11-23 19:44 Seekers\Debug\Seekers.bsc
文件 286112 2012-11-23 19:44 Seekers\Debug\Seekers.ilk
文件 37601 2012-11-23 19:43 Seekers\Debug\Seekers.obj
文件 293552 2012-11-23 19:44 Seekers\Debug\Seekers.pch
文件 5593 2012-11-23 19:44 Seekers\Debug\Simulation.obj
文件 1087 2012-11-23 19:44 Seekers\Seekers.plg
文件 58368 2012-11-23 20:23 Seekers\Seekers.ncb
文件 4423 2012-11-19 22:34 Seekers\Seekers.dsp
文件 2155 2012-11-20 11:27 Seekers\Seekers.h
文件 12935 2013-05-04 11:38 Seekers\Seekers.cpp
文件 639 2012-11-23 20:23 Seekers\Simulation.cpp
文件 48640 2012-11-23 20:23 Seekers\Seekers.opt
目录 0 2012-11-19 19:53 Seekers\Debug
目录 0 2012-11-19 19:53 Seekers
文件 400896 2012-11-13 17:11 导引头模型说明1.doc
----------- --------- ---------- ----- ----
2265684 22
- 上一篇:QT点菜系统
- 下一篇:C语言程序设计药房药品管理系统
评论
共有 条评论