MATLAB ® позволяет сохранить on-off состояния предупреждения, изменение состояний предупреждения и восстановление исходных состояний предупреждения. Это полезно, если необходимо временно отключить некоторые предупреждения и восстановить исходные параметры.
Следующая инструкция сохраняет текущее состояние всех предупреждений в массиве структуры с именем orig_state:
orig_state = warning;
Чтобы восстановить исходное состояние после любых изменений предупреждения, используйте следующий синтаксис:
warning(orig_state);
Можно также сохранить текущее состояние и переключить предупреждения в одну команду. Например, оператор, orig_state = warning('off','all'); эквивалентно командам:
orig_state = warning; warning('off','all')
В этом примере показано, как восстановить состояние определенного предупреждения.
Запрос Control:parameterNotSymmetric предупреждение:
warning('query','Control:parameterNotSymmetric')
The state of warning 'Control:parameterNotSymmetric' is 'on'.
Выключить Control:parameterNotSymmetric предупреждение:
orig_state = warning('off','Control:parameterNotSymmetric')
orig_state =
identifier: 'Control:parameterNotSymmetric'
state: 'on'orig_state содержит состояние предупреждения перед поворотом MATLAB Control:parameterNotSymmetric выкл.
Запрос всех предупреждающих состояний:
warning
The default warning state is 'on'. Warnings not set to the default are
State Warning Identifier
off Control:parameterNotSymmetricMATLAB указывает, что Control:parameterNotSymmetric является 'off'.
Восстановить исходное состояние:
warning(orig_state) warning('query','Control:parameterNotSymmetric')
The state of warning 'Control:parameterNotSymmetric' is 'on'.
В этом примере показано, как сохранить и восстановить несколько состояний предупреждения.
Отключите три предупреждения и запросите все предупреждения:
w(1) = warning('off','MATLAB:rmpath:DirNotFound'); w(2) = warning('off','MATLAB:singularMatrix'); w(3) = warning('off','Control:parameterNotSymmetric'); warning
The default warning state is 'on'. Warnings not set to the default are
State Warning Identifier
off Control:parameterNotSymmetric
off MATLAB:rmpath:DirNotFound
off MATLAB:singularMatrixВосстановите три предупреждения в исходное состояние и запросите все предупреждения:
warning(w) warning
All warnings have the state 'on'.
Нет необходимости хранить информацию о предыдущих состояниях предупреждения в массиве, но это позволяет восстановить предупреждения с помощью одной команды.
Примечание
При временном отключении нескольких предупреждений с помощью методов, связанных с onCleanup может быть выгодным.
Можно также сохранить и восстановить все предупреждения.
Включите все предупреждения и сохраните исходное состояние предупреждения:
orig_state = warning('on','all');
Восстановите предыдущее состояние предупреждений:
warning(orig_state)