全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2352 6
2012-11-03

DATA LOOP;

DO SAMPLE=1 TO 4;

DO I=1 TO 5;

A=0;

B=0;

C=0;

B=B+A*(0.7*A+RANNOR(0));

A=0.7*A+RANNOR(0);

C=C+A**2;

OUTPUT;

END;

END;

RUN;


PROC PRINT DATA=LOOP;

ID SAMPLE;

RUN;


结果为什么B都等于0呢?期望B会像AC一样叠加的... 要交的作业,求各位帮忙!!!!【泪

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-3 18:49:01
因为4*5共20 次循环中都是先将A,B,C赋值为0, 然后B=B+A*(). 所以B都是0.

是不是应该把A,B,C重置为0放到 “DO I=1 TO 5;” 外面?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-3 18:58:32
pobel 发表于 2012-11-3 18:49
因为4*5共20 次循环中都是先将A,B,C赋值为0, 然后B=B+A*(). 所以B都是0.

是不是应该把A,B,C重置为0放 ...
嗯对诶,改完后B就不得0了...
有个问题,为什么改之前A和C都不受影响呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-3 19:03:32
pobel 发表于 2012-11-3 18:49
因为4*5共20 次循环中都是先将A,B,C赋值为0, 然后B=B+A*(). 所以B都是0.

是不是应该把A,B,C重置为0放 ...
如果SAS是一步步往下执行的情况,一旦A不得0,B=B+A*(0.7*A+RANNOR(0))就该有值了对不对?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-3 19:54:01
cravery 发表于 2012-11-3 18:58
嗯对诶,改完后B就不得0了...
有个问题,为什么改之前A和C都不受影响呢?
因为A=A*0.7 加上一个随机值,所以A不为0。
c也就不为0了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-3 19:54:45
cravery 发表于 2012-11-3 19:03
如果SAS是一步步往下执行的情况,一旦A不得0,B=B+A*(0.7*A+RANNOR(0))就该有值了对不对?
          对
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群