s =
rat (x)
¶s =
rat (x, tol)
¶[n, d] =
rat (…)
¶找到x的有理逼近,在定义的误差范围tol内.
如果未指定,默认误差范围为1e-6 * norm (x(:), 1)
.
当使用一个输出参数调用时,返回一个包含连分数展开(多个项)的字符串。
当使用两个输出参数调用时,返回的小数表示形式的除数和分母的数字矩阵x使得x = n ./ d
。
例如
s = rat (pi) ⇒ s = 3 + 1/(7 + 1/16) [n, d] = rat (pi) ⇒ n = 355 ⇒ d = 113 n / d - pi ⇒ 2.6676e-07
复数输入也是类似的:
s = rat (0.5 + i * pi) ⇒ s = complex (1 + 1/(-2), 3 + 1/(7 + 1/16)) [n, d] = rat (0.5 + i * pi) ⇒ n = 113 + 710i ⇒ d = 226 n / d - (0.5 + i * pi) ⇒ 0 + 2.6676e-07i
编程注意:
1. rat
在指定一个返回参数调用时将产生一个字符串,这个字符串是连分数展开式。
要生成一个简单分数(一个分子,一个分母)的字符串,请使用rats
。
2. 由rat
输出的字符串可以传入eval
来得到满足误差的原始输入。
s =
rats (x)
¶s =
rats (x, len)
¶转换x转换为表示为字符串格式的有理逼近。
浮点数的有理逼近是一个分子为N和分母D的简单分数,使得x = N/D
.
可选的第二个参数定义了字符串的最大长度,该字符串表示的元素x。默认情况下,len是13。
如果可能的最小有理逼近的长度超过len,将返回一个用空格填充的星号(*)。
从矩阵到字符串转换再反向转换的示例如下:
r = rats (hilb (4)); x = str2num (r)
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2