using fprintf within a function

4 vues (au cours des 30 derniers jours)
steve guy
steve guy le 18 Fév 2013
The function goes like this. How do I enter an fprintf statement so that the output looks like this:
>>num2let(83)
>>The corresponding letter grade to 83 is:B
function [grade]= num2let(n)
If n>89.49
grade='A'
elseif n<=89.49 & n=>79.5
grade='B'
......
...
elseif n<59.5 grade='F'
end
end
  1 commentaire
Walter Roberson
Walter Roberson le 18 Fév 2013
You have defined this as a function that returns a value. What do you want returned? The verbose string? Just the letter grade?
Remember, functions that return values cause the returned value to be printed out in the form
ans =
unless something is done with the returned value, or the display is suppressed by putting a semi-colon after the expression.

Connectez-vous pour commenter.

Réponse acceptée

Youssef  Khmou
Youssef Khmou le 18 Fév 2013
Modifié(e) : Youssef Khmou le 18 Fév 2013
hi Caleb,
You can define your function without output like this :
function []= num2let(n)
if n > 89.49
fprintf('>>The corresponding letter grade to %d is:A\n',n)
elseif n<=89.49 && n>=79.5
fprintf('>>The corresponding letter grade to %d is:B\n',n)
% YOU COMPLETE YOUR FUNCTION WITH OTHER TESTS
elseif n<59.5
% grade='F'
fprintf('>>The corresponding letter grade to %d is:F\n',n)
end
end
  2 commentaires
steve guy
steve guy le 18 Fév 2013
thank you.
Jan
Jan le 18 Fév 2013
When you have checked for n > 89.49 already, you do not need to check for elseif n <= 89.49 afterwards.

Connectez-vous pour commenter.

Plus de réponses (1)

Thorsten
Thorsten le 18 Fév 2013
If you do not insist on fprintf, you can get the output using
grade = 83;
disp(['The corresponding letter grade to ' int2str(grade) ' is ' ...
num2let(grade)])

Catégories

En savoir plus sur Language Fundamentals dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by