Main Content

rats

有理输出

说明

S = rats(X) 返回一个包含 X 的元素的有理近似值的字符向量。星号指示无法在分配的空间中输出,但与 X 中的其他元素相比并非可忽略不计的元素。

示例

S = rats(X,strlen) 指定用于有理近似值的字符向量的长度。对于实数输入,strlength(S) 等于 strlen+1,而对于复数输入,它等于 2*strlen+3。有理近似值使用与指定的长度成反比的容差,如算法一节中所述。

示例

示例

全部折叠

创建一个 4×4 矩阵。

format short
X = hilb(4)
X = 4×4

    1.0000    0.5000    0.3333    0.2500
    0.5000    0.3333    0.2500    0.2000
    0.3333    0.2500    0.2000    0.1667
    0.2500    0.2000    0.1667    0.1429

使用 rats 查看矩阵的有理表示形式。结果与使用 format rat 相同。

R = rats(X)
R = 4x56 char array
    '       1            1/2           1/3           1/4     '
    '      1/2           1/3           1/4           1/5     '
    '      1/3           1/4           1/5           1/6     '
    '      1/4           1/5           1/6           1/7     '

使用默认字符向量长度和逼近容差计算 pi 的有理表示形式。结果与使用 format rat 相同。

rats(pi)
ans = 
'    355/113   '

调整输出的长度,这也会调整逼近容差。

rats(pi,20)
ans = 
'    104348/33215     '

结果有理近似值具有更高的精度。随着输出长度的增加,容差会减少。

再次调整输出长度以实现更高的精度。

rats(pi,25)
ans = 
'      1146408/364913      '

结果近似值与保留 10 位小数的 pi 一致。

输入参数

全部折叠

输入数组,指定为 singledouble 类的数组。

数据类型: single | double
复数支持:

字符向量的长度,指定为正整数。您指定的字符向量的长度控制有理近似值的精度。较大的字符向量支持更精确的有理近似值。

默认长度为 13,它对实数输入生成长度为 strlen+1 的字符向量,对复数输入生成长度为 2*strlen+3 的字符向量。

算法

rats 使用 [N,D] = rat(X,tol) 获取有理近似值,其中 tolmin(10^(-(strlen-1)/2)*norm(X(isfinite(X)),1),.1)。因此,容差与输出长度 strlen 成反比。

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅

|