MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#">ここ</a>」をクリックしてください。

Qianyu
0

Display rational numbers using fprintf

Qianyu
さんによって質問されました 2013 年 1 月 4 日
I am using fprintf to write my answers to a file. I have numbers such as: 3/7,3/11,6/37... I tried different formats but every time it always changed it to a numeric value. Then I tried format rat before fprintf. This didn't work neither. How can I display a rational number using fprintf?

  0 件のコメント

サインイン to comment.

タグ

2 件の回答

回答者: Loginatorist
2013 年 1 月 4 日
 採用された回答

T = 1/3;
fprintf('The number is: %s\n',strtrim(rats(T)))

  1 件のコメント

Qianyu
2013 年 1 月 10 日
Thanks. It worked great!

サインイン to comment.


回答者: Walter Roberson
2013 年 1 月 4 日

[n,d] = rat(YourNumericValue);
fprint(fid, '%d/%d', n, d)
However, if you have the numerator and denominator already available, then
fprintf(fid, '%d/%d', numerator, denominator)
which is what I think you probably want to do, if I remember your earlier question properly.
MATLAB is not designed to be able to tell the difference between 3/4 and 6/8: it will calculate the binary equivalents of the result and use that binary result, except in the Symbolic Toolbox where it will reduce the fraction to lowest terms and use the reduced rational fraction.

  0 件のコメント

サインイン to comment.



Translated by