Проверьте валидность параметров MATLAB S-Function
Нет
MATLAB
CheckParameters(s)
s
Образец Simulink.MSFcnRunTimeBlock
класс, представляющий Блок Level-2 MATLAB S-function.
Проверяет новые настройки параметров всякий раз, когда параметры изменяются или переоцениваются во время симуляции.
Когда симуляция выполняется, изменения параметров S-функции могут произойти в любой момент во время цикла симуляции, то есть либо в начале шага симуляции, либо во время шага симуляции. Когда изменение происходит во время шага симуляции, Simulink® engine дважды вызывает эту стандартную программу, чтобы обработать изменение параметра. Первый вызов во время шага симуляции используется для проверки правильности параметров. После проверки новых параметров моделирование продолжается с использованием исходных значений параметров до следующего шага симуляции, в котором используются новые значения параметров. Избыточные вызовы необходимы для поддержания согласованности симуляции.
Примечание
Вы не можете получить доступ к работе, состоянию, входу, выходу и другим векторам в этой стандартной программе. Используйте эту стандартную программу только для проверки параметров. Дополнительная обработка параметров должна осуществляться в ProcessParameters
.
В Level-2 MATLAB® S-функция, setup
метод регистрирует CheckParameters
способ следующим образом
s.RegBlockMethod('CheckParameters', @CheckParam);
Локальная функция CheckParam
затем проверяет параметры S-функции. В этом примере функция проверяет, что второй параметр, верхнее предельное значение, больше, чем первый параметр S-функции, нижнее предельное значение.
function CheckParam(s) % Check that upper limit is greater than lower limit lowerLim = s.DialogPrm(1).Data; upperLim = s.DialogPrm(2).Data; if upperLim <= lowerLim, error('The upper limit must be greater than the lower limit.'); end