ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

warning

警告メッセージの表示

説明

warning(msg) は警告メッセージを表示し、関数 lastwarn の警告状態を設定します。msg が空の場合、warninglastwarn の警告状態をリセットしますが、テキストは表示しません。

warning(msg,A1,...,An) は、MATLAB® の関数 sprintf で使用されるような書式変換文字を含むメッセージを表示します。msg 内の個々の変換文字は、値 A1,...,An の 1 つに変換されます。

warning(msgID,___) は警告メッセージに警告識別子を付加します。前述の構文のいずれかの入力引数を含めることができます。識別子により、警告を区別し、MATLAB が警告を検出したときの動作を制御することができます。

warning(state) はすべての警告の状態を有効または無効にしたり、表示したりします。

warning(state,msgID) は、指定された警告の状態で動作します。

warning はすべての警告の状態を表示します。これは warning('query') と等価です。

warnStruct = warning はどの警告が有効および無効になっているかについての情報を含む構造体または構造体の配列を返します。warnStruct には、msgID または 'all' をもつ identifier フィールドと、対応する警告の状態を示す state フィールドが含まれます。

warning(warnStruct) は、構造体配列 warnStruct に示されているように現在の警告設定を設定します。

warning(state,mode) は MATLAB がスタック トレースまたは警告に関する追加情報のいずれを表示するかを制御します。

warnStruct = warning(state,mode) は、mode を含む identifier フィールドと mode の現在の状態を含む state フィールドをもつ構造体を返します。出力構造体 warnStruct を関数 warning に渡すと、どの警告が有効または無効になっているかではなく、mode の状態が設定されます。

すべて折りたたむ

メッセージを表示する警告を生成します。

n = 7;
if ~ischar(n)
   warning('Input must be a character vector')
end
Warning: Input must be a character vector

警告メッセージには n に関する情報を含めます。

if ~ischar(n)
   warning('Input must be a character vector, not a %s',class(n))
end
Warning: Input must be a character vector, not a double

警告メッセージにメッセージ識別子を付加します。

if ~ischar(n)
   warning('MyComponent:incorrectType',...
       'Input must be a character vector, not a %s',class(n))
end
Warning: Input must be a character vector, not a double 

すべての警告を無効にします。

warning('off')

警告をクエリします。

warning
All warnings have the state 'off'.

すべての警告を有効にし、特異行列の警告を無効にし、すべての警告をクエリします。

warning('on')
warning('off','MATLAB:singularMatrix')
warning
The default warning state is 'on'. Warnings not set to the default are

State  Warning Identifier

    off  MATLAB:singularMatrix

特異行列の警告を再度有効にします。

warning('on','MATLAB:singularMatrix')

すべての警告を有効にし、特異行列の警告を無効にします。

warning('on')
warning('off','MATLAB:singularMatrix')

現在の警告設定を保存します。

s = warning
s = 

2x1 struct array with fields:

    identifier
    state

2 つの構造体を調べます。

s(1)
ans = 

    identifier: 'all'
         state: 'on'
s(2)
ans = 

    identifier: 'MATLAB:singularMatrix'
         state: 'off'

'MATLAB:singularMatrix' を除くすべての警告が有効になります。

すべての警告を無効にしてクエリします。

warning('off')
warning('query')
All warnings have the state 'off'.

保存した警告状態の構造体を復元し、状態をクエリします。

warning(s)
warning('query')
The default warning state is 'on'. Warnings not set to the default are

State  Warning Identifier

    off  MATLAB:singularMatrix

verbosebacktrace の設定が既定値であることを確認します。

warning('off','verbose')
warning('on','backtrace')

すべての警告をオンにして、MATLAB パスに存在しないフォルダーを削除します。

warning('on')
rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path. 
> In rmpath at 57 

拡張された警告メッセージを表示するには、詳細を有効にします。

warning('on','verbose')
rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path.
(Type "warning off MATLAB:rmpath:DirNotFound" to suppress this warning.)
 
> In rmpath at 57 

スタック トレースの表示を無効にします。

warning('off','backtrace')
rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path.
(Type "warning off MATLAB:rmpath:DirNotFound" to suppress this warning.)

特異行列を計算します。

A = eye(2);
B = [3 6; 4 8];
C = B\A;
Warning: Matrix is singular to working precision.

警告 ID を検索し、現在の警告状態を保存して特定の警告を無効にします。

[msgStr,msgId] = lastwarn;
warnStruct = warning('off',msgId);
C = B\A;

以前の警告状態を復元します。

warning(warnStruct);
C = B\A;
Warning: Matrix is singular to working precision.

入力引数

すべて折りたたむ

警告の原因に関する情報および修正方法。文字ベクトルまたは string スカラーとして指定します。メッセージの書式を設定するには、\t\n などのエスケープ シーケンスを使用します。関数 sprintf によってサポートされる %s%d などの書式指定子も使用できます。A1,...,An 入力引数を介して変換指定子の値を指定します。詳細については、テキストの書式設定を参照してください。

メモ

警告メッセージ内の特殊文字 (\t\n%s%d など) を MATLAB で変換する場合、warning に複数の入力引数を指定しなければなりません。

例: 'Input must be a character vector.'

msg 内の変換指定子と置き換える値。文字ベクトル、string スカラー、または数値スカラーとして指定します。

警告の識別子。文字ベクトル、string スカラー、'all' または 'last' として指定します。警告のソースを特定したり、プログラムで選択された警告のサブセットを制御したりするときに、警告識別子を使用すると役立ちます。

メッセージ識別子には componentmnemonic が含まれます。識別子は必ずコロンを含まなければならず、component:mnemonic というシンプルな形式に従います。component フィールドおよび mnemonic フィールドはそれぞれ、英字で始まっていなければなりません。残りの文字には英数字 (A ~ Z、a ~ z、0 ~ 9) とアンダースコアを使用できます。msgID に空白文字を含めることはできません。詳細については、メッセージ識別子を参照してください。

警告の state を設定する場合、msgID'all' または 'last' の値をもつことができます。すべての警告の状態を設定するには 'all' を使用し、最後に表示された警告の状態を設定するには 'last' を使用します。

例: 'MATLAB:singularMatrix'

例: 'MATLAB:narginchk:notEnoughInputs'

警告制御インジケーター。'on''off' または 'query' として指定します。MATLAB が警告を表示するかどうかを制御するには、'on' または 'off' を使用します。警告の現在の状態をクエリするには、'query' を使用します。

警告設定。どの警告が有効および無効かについての情報を含む構造体または構造体の配列として指定します。warnStruct には、msgID または 'all' をもつ identifier フィールドと、対応する警告の状態を示す state フィールドが含まれます。

詳細およびスタック トレース表示の設定。'backtrace' または 'verbose' として指定します。既定では、詳細の状態は 'off' に設定され、スタック トレース表示の状態は 'on' に設定されています。

R2006a より前に導入