matlab cdfx,在 Simulink 中使用 ASAM CDFX 数据

导入数据

使用 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'

e45f5ea4489dd3ae78ad64df1fe07ae0.png

该模型包含:

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

f685c6a09a9bfdfec104365911342e52.png

在 MATLAB 中记录输出数据

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

sim(cdfxMdl);

plot(mapData)

title("Simulation Output for ASAM.C.MAP")

2952a4add432f1c22e0e1d5c7f574958.png

% Copyright 2018 The MathWorks, Inc.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值