Чтобы задать параметры как переменные для анализа, можно использовать Таблицу параметров или задать настройки параметра в файле кода MATLAB®. Можно также экспортировать конфигурационные файлы параметра от Таблицы параметров. Для получения дополнительной информации смотрите Ограничения Параметра Хранилища в Файлах кода MATLAB.
Этот пример показывает, как задать настройки параметра в файле кода MATLAB. Для примера, который показывает, как задать эти настройки параметра с помощью Таблицы параметров, смотрите, Задают Ограничительные Значения для Параметров.
Программное обеспечение Simulink® Design Verifier™ обеспечивает аннотируемый шаблон, который можно использовать в качестве отправной точки:
matlabroot/toolbox/sldv/sldv/sldv_params_template.m
Чтобы создать конфигурационный файл параметра, сделайте копию шаблона и отредактируйте копию. Комментарии в шаблоне объясняют синтаксис для определения настроек параметра.
Чтобы сопоставить конфигурационный файл параметра с вашей моделью прежде, чем анализировать модель, в диалоговом окне Configuration Parameters, на Design Verifier> панель Parameters, вводят имя файла в поле Parameter configuration file.
Задайте настройки параметра с помощью структуры, поля которой совместно используют те же имена как параметры, которые вы обрабатываете как входные переменные.
Например, предположите, что вы хотите ограничить Gain и параметры Constant value, m
и b
, которые появляются в следующей модели:
Функция обратного вызова PreLoadFcn
задает m
и b
в рабочем пространстве MATLAB, когда вы открываете модель:
m
установлен в 5.
b
является объектом Simulink.Parameter
типа int8
, значение которого установлено к 5.
В вашем конфигурационном файле параметра задайте ограничения для m
и b
:
params.b = int8([4 10]); params.m = {};
Этот файл задает:
b
является 8-битным целым числом со знаком от 4 до 10. Тип ограничения должен совпадать с типом параметра b
в рабочем пространстве MATLAB, int8
, в этом примере.
m
не ограничивается ни к каким значениям.
Задайте точки с помощью конструктора Sldv.Point
, который принимает одно значение как его аргумент. Задайте интервалы с помощью конструктора Sldv.Interval
, который требует двух входных параметров, т.е. нижней границы и верхней границы для интервала. Опционально, можно обеспечить одно из следующих значений как третий входной параметр, который задает включение или исключение конечных точек интервала:
'()'
— Задает открытый интервал.
'[]'
— Задает закрытый интервал.
'(]'
— Задает лево-открытый интервал.
'[)'
— Задает правильно-открытый интервал.
По умолчанию Simulink Design Verifier полагает, что интервал закрывается, если вы не используете этот аргумент.
Следующий пример ограничивает m
к 3 и b
к любому значению в закрытом интервале [0, 10]:
params.m = Sldv.Point(3); params.b = Sldv.Interval(0, 10);
Если параметры являются скаляром, можно не использовать конструкторов и вместо этого задать одно значения или двухэлементные векторы. Например, можно альтернативно задать предыдущий пример как:
params.m = 3; params.b = [0 10];
Чтобы не указать ни на какое ограничение для входного параметра, задайте params.m = {}
или params.m = []
. Анализ обрабатывает этот параметр как свободный вход.
Можно задать несколько ограничений для одного параметра с помощью массива ячеек. В этом случае анализ комбинирует ограничения с помощью логической операции OR.
Следующий пример ограничивает m
к или 3 или 5 и ограничивает b
к любому значению в закрытом интервале [0, 10]:
params.m = {3, 5}; params.b = [0 10];
Можно задать несколько наборов параметров путем расширения размера структуры. Например, следующий пример использует 1 2 структура, чтобы задать два набора параметров:
params(1).m = {3, 5}; params(1).b = [0 10]; params(2).m = {12, 15, Sldv.Interval(50, 60, '()')}; params(2).b = 5;
Первый набор параметра ограничивает m
к или 3 или 5 и ограничивает b
к любому значению в закрытом интервале [0, 10]. Второй набор параметра ограничивает m
или к 12, 15, или к любое значение в открытом интервале (50, 60), и ограничивает b
к 5.