SAS 中的求和函数

Sum function in SAS

我正在尝试创建一个小函数来执行以下操作: c = (a/3)*(1/((1+x)*2)+1/((1+x)*4)+1/((1+x)*8))+1/((1+x)*8)

输入变量为 ax。如您所见,要乘以的数字是 2 的倍数(最多 8)。

我的主要难点在于递归求和。我知道 SAS 有一个 SUM 函数,但我想知道如何在本练习中使用它。我认为参数可以是 (1/((1+x)*n*2)(其中 n 是一个数字)。
欢迎帮助。谢谢。

您可以编写一个循环来迭代要累积的片段。类似于:

data want;
  a = 2;
  x = 7;
  steps = 4;
  S = 0;
  do index = 1 to steps;
    S = sum (S, 1/(1+x)*index*2);
  end;
  c = a/3 * S;
run;