Sprintf warning message on a function file

1 回表示 (過去 30 日間)
Madalena Francisco
Madalena Francisco 2023 年 1 月 22 日
コメント済み: Voss 2023 年 1 月 22 日
Hello, i created a function file where need to use sprintf, but theres a warning message that say to use fprintf instead, in this case i really need to use sprintf, because i´m exctracting specific values from a vector, and fprintf wil print a number before the text that i printed... do you know any alternative that works like sprintf, to make the warning message go away? Thanks a lot!
%On a function file...
%rest of my code...
equacao_1=sprintf('The equation of the fitted function is: y= %f*x + (%f).',p1(1),p1(2));
disp(equation_1),disp(' ')
This is the message that appears...the program run, but i don´t want to see this message.

採用された回答

Voss
Voss 2023 年 1 月 22 日
The warning is saying that, if all you do with the result from sprintf is to display it with disp, then you can display it with fprintf instead.
p1 = [5 6];
equacao_1=sprintf('The equation of the fitted function is: y= %f*x + (%f).',p1(1),p1(2));
disp(equacao_1)
The equation of the fitted function is: y= 5.000000*x + (6.000000).
fprintf('The equation of the fitted function is: y= %f*x + (%f).\n',p1(1),p1(2));
The equation of the fitted function is: y= 5.000000*x + (6.000000).
If you use equacao_1, the result from sprintf, somewhere else in your code to do something besides display it with disp, for example to set it to the title of a plot, then the warning will go away. Alternatively, you can right-click and disable the warning (on that line, in that file, or in all files), or set the warning to be disabled by editing your preferences (Preferences>Code Analyzer).
  5 件のコメント
Madalena Francisco
Madalena Francisco 2023 年 1 月 22 日
Oh wow Voss thanks a lot!! It´s working just fine, like u said in ur explanation!
Ur solution:
%with what I have (not storing the result of fprintf and not using disp):
%fprintf('The equation of the fitted function is: y= %f*x + (%f).\n',p1(1),p1(2));
%The equation of the fitted function is: y= 5.000000*x + (6.000000).
Thank u so so much!!!
Voss
Voss 2023 年 1 月 22 日
You're welcome!

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by