如何使用R为此等式编写函数

时间:2015-02-10 20:53:43

标签: r function parameters

p(i,x)=a0,i+a1,icos(2π/T*x)+b1,isin(2π/T*x)+c1,ix

其中:

T=365a0,ia1,ib1,ic1,i是参数,x是我们输入的唯一值。

我很困惑如何在参数未知的情况下编写函数

1 个答案:

答案 0 :(得分:1)

您只需编写一般 i 的功能

p_gernal <- function(x, a0, a1, b1, c1, t){
  a0 + a1 * cos(2*pi/t * x) + b1 * sin(2*pi/t * x) + c1 * x
}

R 您的 x,a0,a1,b1,c1 参数应该是相同长度的矢量 或者是lenth 1

示例

head(p_gernal(x = x, a0 = a0, a1 = a1, b1 = b1, c1 = c1, 365))
[1]  0.0000000000  0.0205558610  0.0000614598  0.0866477574  0.0137448690

因此,对于固定索引 i ,它是

p_i <- function(x){
  p_gernal(x = x, a0 = 0, a1 = 1, b1 = 2, c1 = 3, 365)
}
> p_i(1:5)
[1]  4.034279  7.068251 10.101906 13.135235 16.168228