如果这个问题很愚蠢/在其他地方得到了回答/...我找不到任何好的解决方案。
基于幂级数的思想,我有
A)长度为n的实系数的向量,其来自另一个循环并且可以相当长,但是假设它是简单的,例如,
a<-1:10和
B)一个真实的中心,例如
c<-3我想定义多项式(在我的例子中)
a[1]+a[2]*(x-3)+ a[3]*(x-3)^2+ .... + a[10]*(x-3)^9 作为一个函数。不幸的是
1)函数as.polynomial(a)只允许中心0(据我所知),所以我不能使用它
2)系数列表可能很长,太长了,不能手工完成
3)我以后可能需要一个多变量版本。
我更喜欢使用循环来定义这个“有限幂级数”,但我不知道如何以一种干净的方式实现循环和函数和(我也没有找到它)。
类似于(非常天真的)
t<-function(x) 0 for(i in 1:length(a)) {t<-function(x) {t(x) + a[i]*(x-c)^(i-1}}
非常感谢你的帮助。
发布于 2018-04-05 17:16:59
我想这行得通
my_polynomial = function(x) {
sum(sapply(seq_along(a), function(ii) a[ii] * (x - c) ^ (ii - 1L)))
}发布于 2020-07-29 01:55:21
仅供将来参考。要使用polynom包更改中心,请使用change.origin
例如:
change.origin(as.polynomial(a),3)https://stackoverflow.com/questions/49668390
复制相似问题