在Matlab中显示有理数

时间:2015-05-14 12:56:04

标签: matlab

我有两个整数m,n,它们一起形成m / n形式的有理数。现在我只想以合理的形式在Matlab中显示它们。

我可以通过

来做到这一点
char(sym(m/n))

所以,如果,例如, m = 1n = 2,Matlab将显示1/2。但是,如果m = 2n = 4,我也会获得1/2,而我想获得2/4

任何方式这样做而不会再发生类似

的事情
fprintf( '%d/%d', m, n )

由于

1 个答案:

答案 0 :(得分:5)

您可以将显示格式更改为rat

>> format rat
>> 2/3
ans =
       2/3

否则你可以拨打rats功能

>> rats(2/3)
ans =
      2/3     
>> class(ans)
ans =
char

但是,在这两种情况下,馏分都会减少。为避免这种情况,您应该创建单独的函数或将其作为匿名函数引入

>> rat2 = @(m,n) num2str([m n], '%d/%d')
rat2 = 
    @(m,n)num2str([m,n],'%d/%d')
>> rat2(2,4)
ans =
2/4