sprintf or disp

129 ビュー (過去 30 日間)
AP
AP 2011 年 6 月 17 日
I have a question on the application and performance of disp and sprintf. Which one is recommended? For example, what is the difference between the following?
disp(['this is a test number: ' 12])
and
sprintf('this is a test number: %d', 12)

回答 (3 件)

Krishna Kumar
Krishna Kumar 2011 年 6 月 17 日
disp displays the string or variable in the command windoe, whereas sprintf can be used to output the result into a variable, GUI ,file etc

Robert Cumming
Robert Cumming 2011 年 6 月 17 日
As well as being more flexible, sprintf is also much faster than disp when joining strings together like you have shown.
for writing to the command window I normally use fprintf. This also allows you to write your own error/warning/information messages:
fprintf ( 2, 'my error(warning) message in RED!\n' );
The number 2 signifies that you want to write to the command window in red font.

Walter Roberson
Walter Roberson 2011 年 6 月 17 日
The first of the two prints out the quoted string followed by a newline (character 12).
The second of the two prints out
ans =
this is a test number: 12
sprintf() is much more flexible for formatting numbers and strings, but is not able to handle objects.
  3 件のコメント
Walter Roberson
Walter Roberson 2011 年 6 月 17 日
For example, you can disp() a structure or a cell array, but sprintf() has no built-in ways to handle those.
Walter Roberson
Walter Roberson 2011 年 6 月 17 日
Also note you can get rid of the "ans =" if you use fprintf() instead of sprintf() .

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeWrite Unit Tests についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by