我有两个整数 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 )
Thanks
您可以将显示格式更改为rat
>> format rat
>> 2/3
ans =
2/3
否则你可以打电话rats http://se.mathworks.com/help/matlab/ref/rats.html功能
>> 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)