主要内容

飞机位置雷达模型

该模型显示了为包含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)