导入数据
使用 cdfx 函数导入标定数据。
cdfxObj = cdfx("CDFXExampleFile.cdfx")
java.lang.ClassCastException: net.asam.schema.cdf.r2_1.impl.CdfFactoryImpl cannot be cast to net.asam.schema.cdf.r2_1.CdfFactory
at net.asam.schema.cdf.r2_1.impl.CdfFactoryImpl.init(CdfFactoryImpl.java:31)
at net.asam.schema.cdf.r2_1.CdfFactory.(CdfFactory.java:22)
at net.asam.schema.cdf.r2_1.impl.CdfPackageImpl.(CdfPackageImpl.java:574)
at net.asam.schema.cdf.r2_1.impl.CdfPackageImpl.init(CdfPackageImpl.java:598)
at net.asam.schema.cdf.r2_1.CdfPackage.(CdfPackage.java:82)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.mathworks.jmi.ClassLoaderManager.loadClass(ClassLoaderManager.java:440)
at com.mathworks.jmi.ClassLoaderManager.findClass(ClassLoaderManager.java:422)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.mathworks.jmi.OpaqueJavaInterface.findClass(OpaqueJavaInterface.java:186)
cdfxObj =
CDFX with properties:
Name: "CDFXExampleFile.cdfx"
Path: "/tmp/Bdoc20b_1465442_10305/tpe5f574e0/vnt-ex88524458/CDFXExampleFile.cdfx"
Version: "CDF20"
实例化局部变量
使用 getValue 将所需参数提取到 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")
% Copyright 2018 The MathWorks, Inc.