Программа может выдавать предупреждения, которые не всегда отрицательно влияют на выполнение. Чтобы избежать путаницы, можно скрыть предупреждающие сообщения во время выполнения, изменив их состояния с 'on' кому 'off'.
Для подавления определенных предупреждающих сообщений сначала необходимо найти идентификатор предупреждения. Каждое предупреждающее сообщение имеет уникальный идентификатор. Чтобы найти идентификатор, связанный с предупреждением MATLAB ®, воспроизведите предупреждение. Например, этот код воспроизводит предупреждение при попытке MATLAB удалить несуществующую папку:
rmpath('folderthatisnotonpath')Warning: "folderthatisnotonpath" not found in path.
Примечание
Если эта инструкция не выдает предупреждающее сообщение, используйте следующий код, чтобы временно включить отображение всех предупреждений, а затем восстановить исходное состояние предупреждения:
w = warning ('on','all'); rmpath('folderthatisnotonpath') warning(w)
Для получения информации о последнем выданном предупреждении используйте warning или lastwarn функции. Этот код использует query состояние для возврата структуры данных, содержащей идентификатор и текущее состояние последнего предупреждения:
w = warning('query','last')
w =
identifier: 'MATLAB:rmpath:DirNotFound'
state: 'on'id:id = w.identifier;
Примечание
warning('query','last') возвращает последнее отображенное предупреждение. MATLAB отображает только предупреждающие сообщения, которые имеют state: 'on' и идентификатор предупреждения.
Использование lastwarn можно получить последнее предупреждающее сообщение независимо от состояния его отображения:
lastwarn
ans = "folderthatisnotonpath" not found in path.
После получения идентификатора из query используйте эту информацию для отключения или включения предупреждения, связанного с этим идентификатором.
Продолжая пример из предыдущего раздела, переверните предупреждение 'MATLAB:rmpath:DirNotFound' выкл., и повторите операцию.
warning('off',id) rmpath('folderthatisnotonpath')
MATLAB не отображает предупреждения.
Включите предупреждение и попробуйте удалить несуществующий путь:
warning('on',id) rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path.
Теперь MATLAB выдает предупреждение.
Совет
Отключить последнее вызванное предупреждение с помощью warning('off','last').
Термин все относится только к предупреждениям, которые были выданы или изменены во время текущего сеанса MATLAB. Измененные состояния предупреждения сохраняются только в текущем сеансе. При запуске нового сеанса восстанавливаются параметры по умолчанию.
Использовать идентификатор 'all' для представления группы всех предупреждений. Просмотрите состояние всех предупреждений с помощью синтаксиса:
warning('query','all')
warning
Для включения всех предупреждений и проверки состояния:
warning('on','all') warning('query','all')
All warnings have the state 'on'.
Чтобы отключить все предупреждения и проверить состояние, используйте следующий синтаксис:
warning('off','all') warning
All warnings have the state 'off'.