该模型显示了为包含MATLAB脚本的Simulink模型生成的代码。金宝app
该模型包含一个扩展卡尔曼滤波器,从雷达测量估计飞机位置。MATLAB脚本rtwdemo_eml_aero_radar。M包含运行模型的数据。估计的和实际的位置被保存到工作空间中,并在仿真结束时由rtwdemo_aero_radplot程序绘制(自动从仿真中调用)。
在本节中,您应该检查模型并执行模拟。
打开Simulin金宝appk模型。
模型=“rtwdemo_eml_aero_radar”;open_system rtwdemo_eml_aero_radar(模型) ([],[],[],“编译”);rtwdemo_eml_aero_radar ([],[],[],“术语”);
打开MATLAB函数块RadarTracker
在MATLAB编辑器中。
open_system([模型,' / RadarTracker '])
模拟模型并查看结果(自动显示)。
sim(模型)
在本节中,您将使用Simulink Coder提供的子系统构建功能为模型的Kalman Filter部分生成代码。金宝app在第一个构建中,模型被配置为使用Simulink Coder生成代码。金宝app在第二个构建中,模型被配置为使用Embedded Coder生成代码。
的文件创建一个临时文件夹(在系统的临时文件夹中)建造和检查过程。currentDir = pwd;[~, cgDir] = rtwdemodir ();
使用Simulink Coder配置和构建模型。金宝app
rtwconfiguredemo(模型,“通”) slbuild([模型,' / RadarTracker '])
###成功完成RadarTracker的构建过程:模型重建行动的原因 ============================================================================================= RadarTracker代码生成和编译代码生成信息文件不存在。建造时间:0小时0米19.612秒
使用Embedded Coder配置和构建模型。
rtwconfiguredemo(模型,“导”) slbuild([模型,' / RadarTracker '])
###成功完成RadarTracker的构建过程:模型重建行动的原因 ============================================================================================= RadarTracker代码生成和编译代码生成信息文件不存在。1个模型建立(0个模型已经更新)建立时间:0小时0米22.773秒
的一部分RadarTracker.c
下面列出的。
用= fullfile (cgDir,“RadarTracker_ert_rtw”,“RadarTracker.c”);rtwdemodbtype(用“/ *模型步骤”,/ *初始化模型的1 0);
/*模型阶跃函数*/void RadarTracker_step(void){real_T P_d_tmp[16];real_T Phi_0[16];real_T Q_0[16];real_T M[8];real_T W[8];real_T tmp[8];real_T x_tmp[8];real_T Phi u 1[4]真正的承载;真正的承载;真正的承载;真正的承载;真正的范围;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载;真正的承载(b)MATLAB函数::“<根>/根>/雷达跟踪公司”合并:::::::“<根>/根>/meas'../;学校的一个;MATLAB函数::::::“<根>/根>/学校学校的一部分::“<根>/根>/学校学校的一部分:::“<根>/根>/meas'.[0=1;Phi[4]=1;Phi[4]=1;Phi[4=1;Phi[4]=1;Phi[4]=1;Phi[4]=1;Phi[8=1;Phi[8=0;Phi[8]=0;Phi[8]=0;Phi[8=0;Phi[8=0;Phi[8=0;Phi[8=0;Phi[8=0;Phi[8=0;Phi[12=0;Phi[12=0;Phi[12=j<4;j++)(j<<2<2<2)Q[j[j[j[j[j[j[j<<2[j[j<<2[j[j[j<<2[j[j[j[j[j<<2[j[j<<2[j<<2[j<<2[j<<2[j[j<<2[j[j<[j[j[j[j[j[j[j[j[j[j<<2[j[j<<2[j<<2.<2]j<<2[j[j</xhatOut”在corporates: * MATLAB Function: ' /RadarTracker' */ rtY.xhatOut[0] = rtDW.xhat[0]; rtY.xhatOut[1] = rtDW.xhat[1]; rtY.xhatOut[2] = rtDW.xhat[2]; rtY.xhatOut[3] = rtDW.xhat[3]; }
您可以在详细的HTML报告中查看整个生成的代码,具有模型和代码之间的双向跟踪性。
web (fullfile (cgDir,“RadarTracker_ert_rtw”,“html”,“RadarTracker_codegen_rpt.html”))
关闭模型并进行清理。
bdclose rtwdemoclean(模型);cd (currentDir)