main content

结合使用 cdfx 文件和 simulink -凯发k8网页登录

此示例说明如何使用 cdfx 文件中的标定数据作为 simulink® 模型的输入。

导入数据

使用 函数导入标定数据。

cdfxobj = cdfx("cdfxexamplefile.cdfx")
cdfxobj = 
  cdfx with properties:
       name: "cdfxexamplefile.cdfx"
       path: "/tmp/bdoc23a_2181783_2332753/tp3fb84b34/vnt-ex88524458/cdfxexamplefile.cdfx"
    version: "cdf20"

实例化局部变量

使用 将所需参数提取到 matlab® 工作区中。

gainparam = getvalue(cdfxobj, "asam.c.scalar.gain")
gainparam = 3
mapparam = getvalue(cdfxobj, "asam.c.map")
mapparam = struct with fields:
    physicalvalue: [5x5 double]
            axis1: [1x1 struct]
            axis2: [1x1 struct]

查找-增益模型

open_system("cdfxsimulinkmodel.slx");
cdfxmdl = gcs
cdfxmdl = 
'cdfxsimulinkmodel'

该模型包含:

  • 2-d lookup table 模块,表示 cdfx 文件中的 asam.c.map 参数。“table data”字段,表示实例的物理值;“breakpoint”字段,表示轴的物理值。

  • gain 模块,表示 cdfx 文件中的 asam.c.scalar.gain 参数。

  • to workspace 模块,用于记录仿真数据。

indexing logic 子系统

indexing logic 子系统使用 asam.c.map 参数轴的物理值以及信号路由模块和触发子系统,来生成查找索引的所有有效组合。如果您需要在标定参数的全部可能输入值范围内进行测试,这种配置会很有用。

在 matlab 中记录输出数据

仿真的输出由 to workspace 模块发送到 matlab,在那里它存储为时间序列对象,称为 mapdata。现在可以在 matlab 工作区中检查和可视化这些数据。

sim(cdfxmdl);
plot(mapdata)
title("simulation output for asam.c.map")

figure contains an axes object. the axes object with title simulation output for asam.c.map, xlabel time (seconds), ylabel data contains an object of type stair.

网站地图