Перед созданием приложения моделирования для модели необходимо исправить синтаксические ошибки. Выполните следующие действия для проверки функции MATLAB ®meanstats для синтаксических нарушений:
Откройте функцию meanstats внутри диаграммы в call_stats_function_stateflow модель, которая была создана в окне «Program a MATLAB Function in a Chart».
Редактор автоматически проверяет код функции на наличие ошибок и рекомендует исправления.
На вкладке Приложения щелкните Кодер Simulink. На вкладке C Code нажмите кнопку Build.
При отсутствии ошибок или предупреждений появляется окно Построитель (Builder), в котором сообщается об успехе. В противном случае перечисляются ошибки. Например, при изменении имени локальной функции avg несуществующей локальной функции aug в meanstatsошибки отображаются в средстве просмотра диагностики.
Диагностическое сообщение содержит сведения о типе ошибки и ссылку на код, в котором произошла ошибка. Диагностическое сообщение также содержит ссылку на диагностический отчет, который предоставляет ссылки на функции MATLAB и информацию о типе времени компиляции для переменных и выражений в этих функциях. Если модель не создается, эта информация упрощает поиск источников сообщений об ошибках и помогает понять правила распространения типов. Дополнительные сведения об этом отчете см. в разделе Отчеты о функциях MATLAB (Simulink).
В диагностическом сообщении щелкните ссылку после имени функции. meanstats для отображения нарушающей строки кода.
Строка-нарушитель выделяется в редакторе.
Исправьте ошибку, изменив aug назад в avg и перекомпилировать. Ошибки не найдены, компиляция успешно завершена.
Моделирование используется для тестирования функций MATLAB на наличие ошибок времени выполнения, которые не могут быть обнаружены Stateflow ®. При моделировании модели функции MATLAB проходят диагностические тесты на отсутствие или неопределенность информации и возможные логические конфликты, как описано в разделе Проверка функций MATLAB на наличие синтаксических ошибок. Если ошибок не обнаружено, начинается моделирование модели.
Выполните следующие действия для моделирования и отладки meanstats функция во время выполнения условий:
В редакторе функций щелкните на тире (-) символ в левом поле этой строки:
len = length(vals);
В поле этой линии появляется небольшой красный шарик, указывающий на то, что вы установили точку останова.
Запустите моделирование для модели.
При появлении ошибок или предупреждений внесите исправления перед повторной попыткой моделирования. В противном случае моделирование приостанавливается, когда выполнение достигает заданной точки останова. Небольшая зеленая стрелка в левом поле указывает на эту паузу.
Для перехода к следующей строке выберите Шаг.
Обратите внимание, что эта строка вызывает локальную функцию. avg. Если выбрать здесь Шаг, выполнение переходит за пределы выполнения локальной функции avg. Отслеживание выполнения строк в локальной функции avgвместо этого выберите «Шаг».
Переход выполнения к первой строке вызываемой локальной функции avgвыберите «Шаг».
Находясь в локальной функции, с помощью инструмента Шаг (Step) можно перейти по одной строке. Если локальная функция вызывает другую локальную функцию, используйте инструмент Шаг в (Step In), чтобы перейти к ней. Для продолжения прохождения оставшихся строк локальной функции и возврата к линии после вызова локальной функции выберите Step Out.
Выберите Шаг для выполнения единственной строки в avg.
Когда avg завершает его выполнение, вы видите зеленую стрелку, направленную вниз под его последней строкой.
Выберите Step для возврата к функции meanstats.
Выполнение переходит на линию после вызова на avg.
Отображение значения переменной len, поместите указатель на текст len в редакторе функций не менее секунды.
Значение len появляется рядом с указателем.
Таким образом можно просмотреть значение для любых данных в функции MATLAB независимо от того, где они отображаются в функции. Например, можно отобразить значения вектора vals наведением указателя на него в качестве аргумента функции lengthили в качестве аргумента в заголовке функции.
Значения для данных функции MATLAB также можно сообщить в окне команд MATLAB во время моделирования. Когда вы достигаете точки останова, debug>> появится командная строка в окне команд MATLAB (для просмотра может потребоваться нажать клавишу Enter). В этом запросе можно проверить данные, определенные для функции, путем ввода имени данных, как показано в следующем примере:
debug>> len
len =
4
debug>>
В качестве другой альтернативы отладки можно отобразить результат выполнения строки функции, пропустив завершающую точку с запятой. В этом случае результаты выполнения отображаются в окне команд MATLAB во время моделирования.
Чтобы оставить функцию до ее повторного вызова и достижения точки останова, выберите Продолжить.
В любой точке функции можно перейти к выполнению остальных строк функции с помощью инструмента Продолжить (Continue). Если вы находитесь в конце функции, выбор Step делает то же самое.
Щелкните точку останова, чтобы удалить ее, и выберите Выход из отладки, чтобы завершить моделирование.
В модели вычисленные значения mean и stdev теперь отображаются в блоках отображения.

Чтобы управлять проверкой диапазона данных, установите проверку диапазона моделирования на панели Диагностика: валидность данных (Diagnostics: Data Validity) диалогового окна Параметры конфигурации модели (Model Configuration Parameters).
Чтобы задать диапазон входных и выходных данных, выполните следующие действия.
В обозревателе моделей выберите интересующий ввод или вывод функции MATLAB.
Диалоговое окно Свойства данных (Data properties) откроется на панели Диалоговое окно (Dialog) Обозревателя моделей (Model Explorer).
В диалоговом окне «Свойства данных» перейдите на вкладку «Общие» и введите предельный диапазон, как описано в разделе «Предельный диапазон».