我完全没有使用Ryacas包。我想获得多项式的连续导数,所以我尝试了以下几行:
library(Ryacas)
x <- Sym("x")
P <- 1
for (k in 1:10) {
P <- (1+k*x)*P + x*(1-x)*deriv(P, x)
P
}
我期望获得连续的多项式:
P = (1 + x)(1) = 1 + x
P = (1 + 2x)(1 +x) + x(1 - x)(1) = 1 + 4x + x^2
P = (1 + 3x)(1 + 4x + x^2) + x(1 - x)(4 + 2x) = 1 + 11x + 11x^2 + x^3
等等。
未指示错误,但未显示输出。所以写我的线条显然是错误的。你能帮帮我吗?
答案 0 :(得分:1)
在开头使用P <- Sym(1)
。在循环中也使用Simplify
,否则计算过于耗时。您还必须在循环中使用print
。
library(Ryacas)
x <- Sym("x")
P <- Sym(1)
for (k in 1:10) {
P <- Simplify((1+k*x)*P + x*(1-x)*deriv(P, x))
print(P)
}
结果:
expression(3 * x^2 - x^3 + 9 * x + 1)
expression(x^4 - 4 * x^3 + 18 * x^2 + 20 * x + 1)
expression(5 * x^4 - x^5 + 2 * x^3 + 94 * x^2 + 43 * x + 1)
expression(x^6 - 6 * x^5 + 27 * x^4 + 196 * x^3 + 411 * x^2 +
90 * x + 1)
expression(7 * x^6 - x^7 - 9 * x^5 + 527 * x^4 + 2017 * x^3 +
1593 * x^2 + 185 * x + 1)
expression(x^8 - 8 * x^7 + 40 * x^6 + 1000 * x^5 + 8686 * x^4 +
14440 * x^3 + 5704 * x^2 + 376 * x + 1)
expression(9 * x^8 - x^9 - 24 * x^7 + 2280 * x^6 + 32058 * x^5 +
101190 * x^4 + 86280 * x^3 + 19368 * x^2 + 759 * x + 1)
expression(x^10 - 10 * x^9 + 57 * x^8 + 4368 * x^7 + 112134 *
x^6 + 597108 * x^5 + 937350 * x^4 + 461328 * x^3 + 63417 *
x^2 + 1526 * x + 1)
expression(11 * x^10 - x^11 - 43 * x^9 + 9249 * x^8 + 371346 *
x^7 + 3173370 * x^6 + 8269398 * x^5 + 7454718 * x^4 + 2289231 *
x^3 + 202459 * x^2 + 3061 * x + 1)
expression(x^12 - 12 * x^11 + 78 * x^10 + 18068 * x^9 + 1197279 *
x^8 + 15664248 * x^7 + 63560580 * x^6 + 94344696 * x^5 +
53298207 * x^4 + 10776596 * x^3 + 634926 * x^2 + 6132 * x +
1)