Этот пример показывает, как использовать калибровочные данные из CDF-файла как входные параметры к модели Simulink.
Импортируйте калибровочные данные с помощью функции cdfx
.
cdfxObj = cdfx("CDFXExampleFile.cdfx")
cdfxObj = CDFX with properties: Name: "CDFXExampleFile.cdfx" Path: "\\fs-01-mi\shome$\rollinb\Documents\MATLAB\Examples\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: [5×5 double]
Axis1: [1×1 struct]
Axis2: [1×1 struct]
open_system("CDFXSimulinkModel.slx");
cdfxMdl = gcs
cdfxMdl = 'CDFXSimulinkModel'
Эта модель содержит:
2D блок Lookup Table, чтобы представлять параметр 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.