该模型显示了为包含MATLAB脚本的Simulink模型生成的代码。万博1manbetx
该模型包含一个扩展卡尔曼滤波器,从雷达测量估计飞机的位置。MATLAB脚本rtwdemo_eml_aero_radar。M包含用于运行模型的数据。估计和实际位置被保存到工作空间中,并在模拟结束时由程序rtwdemo_aero_radplot绘制(从模拟中自动调用)。
在本节中,您应该回顾模型并执行一个模拟。
打开Simulin万博1manbetxk模型。
模型=“rtwdemo_eml_aero_radar”;open_system rtwdemo_eml_aero_radar(模型) ([],[],[],“编译”);rtwdemo_eml_aero_radar ([],[],[],“术语”);
打开MATLAB函数块RadarTracker
在MATLAB编辑器中。
open_system([模型,' / RadarTracker '])
模拟模型并检查结果(自动显示)。
sim(模型)
在本节中,您将使用Simulink Coder提供的子系统构建功能为模型的卡尔曼滤波部分生成代码。万博1manbetx在第一次构建中,将模型配置为使用Simulink Coder生成代码。万博1manbetx在第二次构建中,将模型配置为使用Embedded Coder生成代码。
创建一个临时文件夹(在系统的临时文件夹中)建立和检验过程。currentDir = pwd;[~,cgDir] = rtwdemodir();
使用Simulink Coder配置和构建模型。万博1manbetx
rtwconfiguredemo(模型,“通”) slbuild([模型,' / RadarTracker '])
使用Embedded Coder配置和构建模型。
rtwconfiguredemo(模型,“导”) slbuild([模型,' / RadarTracker '])
已成功完成:RadarTracker的构建过程构建摘要已构建的顶级模型目标:模型操作重建原因============================================================================================= RadarTracker生成和编译的代码生成信息文件不存在。构建1个模型(0个模型已经更新)构建持续时间:0h 0m 18.573
的一部分RadarTracker.c
如下所示。
cfile = fullfile(cgDir,“RadarTracker_ert_rtw”,“RadarTracker.c”);rtwdemodbtype(用'/*模型步长','/*模型初始化', 1, 0);
您可以在详细的HTML报告中查看生成的整个代码,模型和代码之间具有双向可跟踪性。
web (fullfile (cgDir,“RadarTracker_ert_rtw”,“html”,“RadarTracker_codegen_rpt.html”))
关闭模型并清理。
bdclose rtwdemoclean(模型);cd (currentDir)