Ruby
Rational function
Rational function
f, g を多項式とする。
f/g の計算は、1/gと大差がない。
def I(ary, n)
a = [1]
i = 0
while i < n
a << -(0..i).inject(0){|s, j| s + ary[1 + i - j] * a[j]}
i += 1
end
a
end
def Rational_function(ary0, ary, n)
a = ary0.clone
i = 0
while i < n
a[i + 1] -= (0..i).inject(0){|s, j| s + ary[1 + i - j] * a[j]}
i += 1
end
a
end
a = [1, -2] + [0] * 9
p I(a, 10)
# a/a = 1
p Rational_function(a, a, 10)
p a
b = [0, 0, 1] + [0] * 8
p Rational_function(b, a, 10)
p b
出力結果
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 2, 4, 8, 16, 32, 64, 128, 256]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。