我有两个整数m,n,它们一起形成m / n形式的有理数。现在我只想以合理的形式在Matlab中显示它们。
我可以通过
来做到这一点char(sym(m/n))
所以,如果,例如, m = 1
,n = 2
,Matlab将显示1/2
。但是,如果m = 2
,n = 4
,我也会获得1/2
,而我想获得2/4
。
任何方式这样做而不会再发生类似
的事情fprintf( '%d/%d', m, n )
由于
答案 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