Problem with output of fprintf command

1 view (last 30 days)
function input(x)
Fw=0;
Fg=-12.9;
Bw=100;
Bg=197;
F=Fw+x*(Fg-Fw);
B=Bw+x*(Bg-Bw);
XX=x*100;
Line1_1='For an aqueous mixture of ';
Line1_2='glycol';
Line2_1='the freezing point is ';
Line2_2='Celcius and';
Line3_1='the boiling point is ';
Line3_2='Celcius';
fprintf(Line1_1 ,XX,Line1_2)
fprintf(Line2_1 ,F,Line2_2)
fprintf(Line3_1 ,B,Line3_2)
end
output: For an aqueous mixture of the freezing point is the boiling point is >>
Why is my function not including XX,B, and F in the output even though they are included in the fprintf functions? Just trying to figure out what code I'm missing to get the output to work correctly
  1 Comment
Steven Lord
Steven Lord on 31 Jul 2022
In addition to the feedback about format specifiers in your fprintf calls that others have given you, I want to recommend that you change the name of your function because input already has a meaning in MATLAB.

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 30 Jul 2022
Look at the examples for fprintf in the documentation. You need to include a format specification to include variable values.
x = 2.5;
input(x)
For an aqueous mixture of 250 glycol the freezing point is -32.25 Celcius and the boiling point is 342.5 Celcius
function input(x)
Fw=0;
Fg=-12.9;
Bw=100;
Bg=197;
F=Fw+x*(Fg-Fw);
B=Bw+x*(Bg-Bw);
XX=x*100;
Line1_1='For an aqueous mixture of %g ';
Line1_2='glycol ';
Line2_1='the freezing point is %g ';
Line2_2='Celcius and ';
Line3_1='the boiling point is %g ';
Line3_2='Celcius ';
fprintf([Line1_1, Line1_2], XX)
fprintf([Line2_1,Line2_2], F)
fprintf([Line3_1,Line3_2], B)
end

More Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!