楼主: cravery
2393 6

[问答] DO LOOP入门作业求助!!! ~>_<~ [推广有奖]

  • 0关注
  • 0粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
306 点
帖子
14
精华
0
在线时间
10 小时
注册时间
2012-2-5
最后登录
2012-11-6

楼主
cravery 发表于 2012-11-3 18:32:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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一样叠加的... 要交的作业,求各位帮忙!!!!【泪

二维码

扫码加我 拉你入群

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

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

关键词:loop Sample output print outpu

沙发
pobel 在职认证  发表于 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;” 外面?
和谐拯救危机

藤椅
cravery 发表于 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都不受影响呢?

板凳
cravery 发表于 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))就该有值了对不对?

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

地板
pobel 在职认证  发表于 2012-11-3 19:54:45
cravery 发表于 2012-11-3 19:03
如果SAS是一步步往下执行的情况,一旦A不得0,B=B+A*(0.7*A+RANNOR(0))就该有值了对不对?
          对
和谐拯救危机

7
cravery 发表于 2012-11-3 20:44:25
pobel 发表于 2012-11-3 19:54
因为A=A*0.7 加上一个随机值,所以A不为0。
c也就不为0了
哦谢谢啦~我刚接触,好多都不太明白。
听计算机系的学长说我正在学的SAS课上教的这些命令太old-school早没人用了,我一直学经济,不太懂他什么意思,是不是这样呢?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 01:55