フィルターのクリア

using fprintf within a function

25 ビュー (過去 30 日間)
steve guy
steve guy 2013 年 2 月 18 日
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 件のコメント
Walter Roberson
Walter Roberson 2013 年 2 月 18 日
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.

サインインしてコメントする。

採用された回答

Youssef  Khmou
Youssef Khmou 2013 年 2 月 18 日
編集済み: Youssef Khmou 2013 年 2 月 18 日
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 件のコメント
steve guy
steve guy 2013 年 2 月 18 日
thank you.
Jan
Jan 2013 年 2 月 18 日
When you have checked for n > 89.49 already, you do not need to check for elseif n <= 89.49 afterwards.

サインインしてコメントする。

その他の回答 (1 件)

Thorsten
Thorsten 2013 年 2 月 18 日
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)])

カテゴリ

Help Center および File ExchangeVariables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by