alicefeier 发表于 2010-10-8 08:35 
6# alicefeier
Jingju同学 你真的是大牛人!!佩服!!!
你写的程序我刚才RUN了一下 08年的数据完全正确啊~~~但是我需要75-08年的所有G, 该怎么修改程序 呢??
- data _null_;
- g0 =275728722;
- _c0 = 0.139;
- set have;
- _m0 =_c0 **_n_;
- _m1 =_m0 *log(g0);
- _m2 =(_c0/_m0) *log(1+a);
- _s0 ++_m2;
- _s1 =(1-_c0) *(_m0/_c0) *_s0 +_m1;
- g =exp(_s1);
- put year =;
- put "the result =" g;
- put "************************";
- run;
复制代码我算法的公式最后归结为:比如
t = 1
logG|t=1 = (1-0.139) * [0.139^(1-1)] * { [0.139^(1-1)] * log(1+A1)} + (0.139^1) * log(G0)
t = 2
logG|t=2 = (1-0.139) * [0.139^(2-1)] * { [0.139^(1-2)] * log(1+A2) + [0.139^(2-2)] * log(1+A1)} + (0.139^2) * log(G0)
t = 3
logG|t=3 = (1-0.139) * [(0.139^(3-1)] * {[0.139^(1-3)] * log(1+A3) + [0.139^(2-3)] * log(1+A2) + [0.139^(3-3)] * log(1+A1)} + (0.139^3) * log(G0)
以此类推可以累加。
因为不理解其中的实际意义,所以在公式的转换中可能有误。请斟酌使用。JingJu11