2017-06-04 5 views
1

2つの変数呼び出しを含む少し長い警告メッセージを印刷しようとしています。ここに私のコードはあります:警告メッセージを複数の行に出力する

明らかに、テキストの行は、MATLABコードを見ると右に広がります。それをうまく包むように私はそれを壊すことができますか?私は複数のことを試しましたが、構文エラーが続いています。

+1

文字列に '\ n'を挿入しますか? (わからないのですか?) –

答えて

1

コメントに示唆されているように、行を中断したい場所に\nを挿入するだけです。また、コード内でも読むことが簡単にするために、テキストの変数を使用することができます。

txt = sprintf(['the arguments dt (%d) and h (%d) are sub-optimal.\n'... 
    'Consider increasing nt or decreasing nx.'],dt,h); 
warning('MATLAB:questionable_argument',txt) 
1

EBHを提供していた以上に簡単なバージョンが示されているようです:

str1 = 'text 1'; 
str2 = 'text 2'; 
str3 = 'etc.'; 
str = sprintf('\n%s \n%s \n%s \n',str1,str2,str3); 
warning(str) 
+2

「もっとシンプルな」部分はどれですか? –

0

あなたの場合は、単にこうした警告文字列で\nとして埋め込むエスケープ文字は、それが動作しません。

warning('Hi there.\nPlease do not do that.') 

がちょうどプリントアウトします:

警告:sprintfを使用してあなたはプリフォーマットテキスト場合こんにちはは\ nPleaseが

ことをしないしかし、その後、すべてのエスケープ文字が動作します。例えば:

警告:こんにちは

warnText = sprintf('Hi there.\nPlease do not do that.'); 
warning(warnText) 

は、あなたが欲しいものを生成します。
しないでください。

関連する問題