我想基于包含根的向量来计算多项式的系数。我首先定义了一个系数向量:
pol <- c(0,1,2,3,4)
并计算了根
roots <- polyroot(pol)
获得测试结果。 然后我尝试了以下方法:
result <- 1
for (n in 1:(length(roots))){
result <- c(result, 0) + c(0,-roots[n]*result)
}
但是我的结果如下:
result
[1] 1.00+0i 0.75+0i 0.50+0i 0.25+0i 0.00+0i
我在这里想念什么?
答案 0 :(得分:2)
注意
identical(polyroot(pol), polyroot(pol / 4))
# [1] TRUE
也就是说,通过从多项式到其根,您将丢失有关最高次数项的系数的信息(在本例中为4)。例如,2x ^ 2-x = 2x(x-1 / 2),但是x ^ 2-x / 2 = x(x-1 / 2),因此根相同,我们只对第一个进行归一化关于二次项的多项式。所以,
Re(result) * 4
# [1] 4 3 2 1 0
给出结果,但还需要了解tail(pol, 1)
。