Sprintf warning message on a function file

2 ビュー (過去 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 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by