2017-06-04 126 views
1

我試圖打印一條有點長的警告消息,其中包含2個變量調用。這裏是我的代碼:通過多行打印警告信息

warning('MATLAB:questionable_argument', ... 
      'the arguments dt (%d) and h (%d) are sub-optimal. Consider increasing nt or decreasing nx.', ... 
      dt, h) 

很顯然,在查看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.') 

將只打印出:

警告:您好\ n請不要那樣做

不過,如果你預先格式化使用sprintf文本,然後所有的轉義字符會工作。例如:

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

可生產你想要什麼:

警告:您好。
請不要這樣做。