我如何在R中实现这样的东西:
我正在使用此代码:
i<-1000
4*(sum(1/i)*sin(i*x)))/pi
但它并没有返回我期待的内容
答案 0 :(得分:2)
尝试以下功能
series <- function(x, L=1, n_max=1000) {
i <- seq(1, n_max, by=2)
4*sum(sin(i*pi*x/L)/i)/pi
}
您可能还有兴趣检查fourier()
包
fda
功能
答案 1 :(得分:1)
您的实施存在一些无关的问题。
乍一看,你只是在实施一个完全不同的公式,它完全不符合你的等式。
其次,看看sum
function在R中实际做了什么:你的论点是错误的。
但最后,更重要的是,和本身迭代奇数1,3,5 ......∞。这就产生了一个问题:我们无法通过纯粹的计算来解决这个问题,必须通过分析来解决。不幸的是,我不知道R的任何符号方程求解器可以自动处理,但你可能想给Ryacas一个镜头。