В этом примере показано, как использовать калибровочные данные из CDF-файла как входные параметры к модели Simulink.
Импортируйте калибровочные данные с помощью cdfx функция.
cdfxObj = cdfx("CDFXExampleFile.cdfx")cdfxObj =
CDFX with properties:
Name: "CDFXExampleFile.cdfx"
Path: "/tmp/BR2019bd_1276998_130124/mlx_to_docbook1/tp5b9f827c/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 = gcscdfxMdl = 'CDFXSimulinkModel'

Эта модель содержит:
Блок двумерной интерполяционной таблицы, чтобы представлять ASAM.C.MAP параметр из файла CDFX. Поле "Table data" представляет физическое значение экземпляра, и поля "Breakpoint" представляют физические значения осей.
Получите блок, чтобы представлять ASAM.C.SCALAR.GAIN параметр из файла CDFX.
С блоком Workspace, чтобы регистрировать данные моделирования.
Индексирующая Логическая подсистема использует физические значения осей ASAM.C.MAP параметр, наряду с маршрутизацией сигнала блокируется и инициированная подсистема, чтобы произвести все допустимые комбинации индексов поиска. Эта настройка может быть полезной, если необходимо протестировать через полный спектр возможных входных значений калибровочного параметра.

Выход симуляции отправляется MATLAB блоком To Workspace, где это хранится как объект timeseries, названный mapData. Эти данные могут теперь смотреться и визуализироваться в рабочем пространстве MATLAB.
sim(cdfxMdl);
plot(mapData)
title("Simulation Output for ASAM.C.MAP")
% Copyright 2018 The MathWorks, Inc.