more than one input in sprintf

21 ビュー (過去 30 日間)
Liber-T
Liber-T 2011 年 7 月 19 日
Hye, I would like to put two argument in sprintf.
I tried:
sprintf('mu=%s ,nu/omega=%s',mu1,q)
but it doesn't work, only the first one is assigned.
  4 件のコメント
Liber-T
Liber-T 2011 年 7 月 19 日
double, for both.
Sean de Wolski
Sean de Wolski 2011 年 7 月 19 日
that is your issue - they're doubles not strings. So you should be using %f or %g in your sprintf statement instead of %s which indicates class char. See both Walter's and my suggestions below.

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

採用された回答

Sean de Wolski
Sean de Wolski 2011 年 7 月 19 日
Works for me...
mu1 = 'hello world'
q = '78'
sprintf('mu=%s ,nu/omega=%s',mu1,q)
Remember you're calling it as a string so mu1 and q both have to be strings
Use %f or %g etc. for numbers that are not strings or convert the numbers to string using num2str
doc sprintf

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 7 月 19 日
That should work fine, provided that mu1 and q are both strings already.
Perhaps you want
sprintf('mu=%g, nu/omega=%g\n', mu1, q)

カテゴリ

Help Center および File ExchangeString についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by