首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多项式作为R中的函数

多项式作为R中的函数
EN

Stack Overflow用户
提问于 2018-04-05 17:08:11
回答 2查看 1.2K关注 0票数 1

如果这个问题很愚蠢/在其他地方得到了回答/...我找不到任何好的解决方案。

基于幂级数的思想,我有

A)长度为n的实系数的向量,其来自另一个循环并且可以相当长,但是假设它是简单的,例如,

代码语言:javascript
复制
a<-1:10

B)一个真实的中心,例如

代码语言:javascript
复制
c<-3

我想定义多项式(在我的例子中)

代码语言:javascript
复制
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}}

非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-04-05 17:16:59

我想这行得通

代码语言:javascript
复制
my_polynomial = function(x) {
  sum(sapply(seq_along(a), function(ii) a[ii] * (x - c) ^ (ii - 1L)))
}
票数 3
EN

Stack Overflow用户

发布于 2020-07-29 01:55:21

仅供将来参考。要使用polynom包更改中心,请使用change.origin

例如:

代码语言:javascript
复制
change.origin(as.polynomial(a),3)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49668390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档