Fprintf and supressing an ans.

6 views (last 30 days)
Jared
Jared on 9 Feb 2012
Our class is working with Matlab and one of the questions we had as an assignment was to:
"create a function that receives an one interger argument, which is the hour of the day, and returns the hour.This assumes a 12-hour clock; so, for example, the next hour after 12 would be 1. Here is an example of calling this function: fprintf('The next hour will be %d.\n,nexthour(3)"
We were able to get it to display the hour but when we tried to use fprintf as the only way to display our answer, is still displayed an "ans" too.
The question I have would be is there a way to only have fprintf display the time and not "ans = whatever"?
Heres is the code we got to function but still give an "ans."
%This script will display a hour in the day and then display the next hour. The user will have to input the hour. Remember to ask how to get it to be in 'fprintf' only and not enter the ans too.
function Time = prob_3_chp_3_time_next_hour (x)
Time = x;
if x < 12;
Time = Time+1;
elseif x == 12;
Time = 1;
end
  1 Comment
John D'Errico
John D'Errico on 12 Feb 2012
I'd be surprised (ok, disappointed) if the assignment told you to work with an "interger" argument. Sigh.

Sign in to comment.

Answers (2)

Jan
Jan on 9 Feb 2012
If you add a semicolon behind a command, the returning value is not displayed. Example:
a = sin(1)
b = sin(2);
sin(3)
sin(4);

Jared
Jared on 12 Feb 2012
I add a semicolons to the end yet it still displays both fprintf output and ans output. Here is another script I worked with that that is similiar that I want the same result to happen yet the trouble remains.
The first script is with with all semicolons added and the second is with all semicolons removed.
%Converts from Megawatt hours to Gigajoules.
function MWH_to_GJ = conv_power_mwh_to_gj (n)
MWH_to_GJ = n * 3.6;
fprintf ('When the Megawatts are %.2f,', n);
fprintf ('the Gigajoules will be %.2f.\n',MWH_to_GJ);
%Converts from Megawatt hours to Gigajoules.
function MWH_to_GJ = conv_power_mwh_to_gj (n)
MWH_to_GJ = n * 3.6
fprintf ('When the Megawatts are %.2f,', n)
fprintf ('the Gigajoules will be %.2f.\n',MWH_to_GJ)
  1 Comment
Walter Roberson
Walter Roberson on 12 Feb 2012
Put the semi-colon on the call to conv_power_mwh_to_gj
As in
outpower = conv_power_mwh_to_gj(179.3); %notice the semi-colon

Sign in to comment.

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!