Problem with output of fprintf command
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Craig Johnson
am 30 Jul. 2022
Kommentiert: Steven Lord
am 31 Jul. 2022
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 Kommentar
Steven Lord
am 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.
Akzeptierte Antwort
Cris LaPierre
am 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)
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
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!