Fprintf and supressing an ans.

7 visualizzazioni (ultimi 30 giorni)
Jared
Jared il 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 Commento
John D'Errico
John D'Errico il 12 Feb 2012
I'd be surprised (ok, disappointed) if the assignment told you to work with an "interger" argument. Sigh.

Accedi per commentare.

Risposte (2)

Jan
Jan il 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 il 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 Commento
Walter Roberson
Walter Roberson il 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

Accedi per commentare.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by