警告の復元
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:parameterNotSymmetric
MATLAB で
Control:parameterNotSymmetric
が'off'
であることを示しています。元の状態を復元します。
warning(orig_state) warning('query','Control:parameterNotSymmetric')
The state of warning 'Control:parameterNotSymmetric' is 'on'.
複数の警告の無効化と復元
この例では、複数の警告の状態を保存して復元する方法を説明します。
3 つの警告を無効にし、すべての警告をクエリします。
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
3 つの警告を元の状態に戻し、すべての警告をクエリします。
warning(w) warning
All warnings have the state 'on'.
配列に前の警告の状態についての情報を格納する必要はありませんが、格納すると 1 つのコマンドで警告を復元できます。
メモ
複数の警告を一時的に無効にする場合、onCleanup
に関連するメソッドを使用すると便利です。
すべての警告を保存して復元することもできます。
すべての警告を有効にし、元の警告の状態を保存します。
orig_state = warning('on','all');
警告を前の状態に戻します。
warning(orig_state)