Problem with output of fprintf command

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 comentario

Steven Lord
Steven Lord el 31 de Jul. de 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.

Iniciar sesión para comentar.

 Respuesta aceptada

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

1 comentario

Craig Johnson
Craig Johnson el 30 de Jul. de 2022
thanks i did'nt realize i had forgotten %g thanks so much

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 30 de Jul. de 2022

Comentada:

el 31 de Jul. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by