八度显示除法时的分数而不计算值

问题描述

1/23 * [1 2 3]的计算结果为[0.041667 0.083333 0.125000]。

我只想要类似[1/23 2/23 3/23]

的结果

解决方法

您可以指定format rat,以始终将输出显示为有理近似值(适用于matlab和八度)。

format rat
a = 1/23 * [1,2,3]
% a = 1/23       2/23       3/23

或者,您可以使用“鼠”函数或“鼠”函数来打印(作为字符串)浮点数组的有理近似值:

a = 1/23 * [1,3]
% a =    0.043478   0.086957   0.130435

rats(a)
% ans =  1/23       2/23       3/23

正如克里斯(Cris)在评论中指出的那样,这仅仅是一个代表性的问题。结果的基础浮点表示形式不会改变。如果您希望以“数学”的意义来处理分数,那么您需要采用另一种方式(可能是符号包,或者手动处理分子和分母)。