Проверьте валидность параметров 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