楼主: harlon1976
9695 28

[原创博文] 如何进行系统设置 [推广有奖]

21
kuhasu 发表于 2011-10-17 04:38:28
你硬盘多大?
空余空间10G的有没有?
有的话,把sas work临时文件夹路径改到那里,然后你自己分析代码去吧。
最后几个参数调小点儿,比如我那个,600M剩余空间就够了。

22
harlon1976 发表于 2011-10-17 15:08:40
kuhasu 发表于 2011-10-17 04:38
你硬盘多大?
空余空间10G的有没有?
有的话,把sas work临时文件夹路径改到那里,然后你自己分析代码去吧 ...
C盘有6G,应该够了吧,不知道这个程序在你的机子上运行LOG窗口出现什么提示,有没有运行结果,那几个参数的值不是太大,还有比这个更大的都能运行。我的代码应该没有问题吧,我检查过了。

23
kuhasu 发表于 2011-10-17 20:10:35
harlon1976 发表于 2011-10-17 15:08
C盘有6G,应该够了吧,不知道这个程序在你的机子上运行LOG窗口出现什么提示,有没有运行结果,那几个参数 ...
代码日志就是上面的。
你可以观察一下work的硬盘容量,就很清楚了。

24
harlon1976 发表于 2011-10-17 20:22:04
kuhasu 发表于 2011-10-17 20:10
代码日志就是上面的。
你可以观察一下work的硬盘容量,就很清楚了。
WARNING: 已忽略宏定义 MM 的 %MEND 语句中的无关信息。
106        %mm(1,25,8,50,100);
NOTE: IML Ready
107        run;
NOTE: Module MAIN is undefined in IML; cannot be RUN.
NOTE: Exiting IML.
NOTE: 1179 workspace compresses.
NOTE: PROCEDURE IML 已打印第 1 页。
NOTE: “PROCEDURE IML”所用时间(总处理时间):
      实际时间          1:10.40
      CPU 时间          1:10.36
      

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: “SAS 系统”所用时间:
      实际时间          1:10.64
以上是你日志窗口中的内容吗?与我的那个不一样,你的OUTPUT窗口有没有输出结果,我的SAS安装在C盘,空间应该是够的啊!

25
numman 发表于 2011-10-30 00:11:45
兄弟 ,你程序主体没问题,问题出在小地方
你%mend mm(phi,smpl,lag,cs,xzx);
中的flag 写成lag了。。
其实 写%mend 后可以不用跟宏名称参数的 。

你把 %mend mm(phi,smpl,lag,cs,xzx);  改成 %mend;试下

在我这是可行的。。

daaata.com

26
harlon1976 发表于 2011-10-30 07:39:06
numman 发表于 2011-10-30 00:11
兄弟 ,你程序主体没问题,问题出在小地方
你%mend mm(phi,smpl,lag,cs,xzx);
中的flag 写成lag了。。
多谢兄台的提醒,怪不得总是运行不出东西呢?原来一个小笔误尽然导致如此的结果,叩谢了!

27
harlon1976 发表于 2011-10-30 07:59:06
numman 发表于 2011-10-30 00:11
兄弟 ,你程序主体没问题,问题出在小地方
你%mend mm(phi,smpl,lag,cs,xzx);
中的flag 写成lag了。。
可是老兄,我修改后,还是出现上述错误,你那边运行有结果吗?

28
numman 发表于 2011-10-30 11:21:42
昨天用的机子 sas9.2的模块有点问题
我又运行了下 发现你程序是不是从别处copy过来的  有`*符号
我iml 用的比较少  不知道 sas 支持此符号?
另外 你的错误可以通过以下log找出。。
  1. NOTE: IML Ready
  2. MPRINT(MM):  pva1=j(100,1,0);
  3. MPRINT(MM):  pva2=j(100,1,0);
  4. MPRINT(MM):   y=j(25,1,0);
  5. MPRINT(MM):   ebs=normal(j(25,1,0));
  6. MPRINT(MM):   do i=2 to 25;
  7. MPRINT(MM):   ebs[i]=0.6*ebs[i-1]+normal(0);
  8. MPRINT(MM):   y[i]=y[i-1]+ebs[i];
  9. MPRINT(MM):   end;
  10. MPRINT(MM):   ly=y[1:25-1];
  11. MPRINT(MM):   dy=y[2:25,]-ly;
  12. MPRINT(MM):   dy1=dy[8+1-1:25-1-1,];
  13. MPRINT(MM):   dy2=dy[8+1-2:25-1-2,];
  14. MPRINT(MM):   dy3=dy[8+1-3:25-1-3,];
  15. MPRINT(MM):   dy4=dy[8+1-4:25-1-4,];
  16. MPRINT(MM):   dy5=dy[8+1-5:25-1-5,];
  17. MPRINT(MM):   dy6=dy[8+1-6:25-1-6,];
  18. MPRINT(MM):   dy7=dy[8+1-7:25-1-7,];
  19. MPRINT(MM):   dy8=dy[8+1-8:25-1-8,];
  20. MPRINT(MM):   y1=dy1;
  21. MPRINT(MM):   x=y1||dy2;
  22. MPRINT(MM):   y1=x;
  23. MPRINT(MM):   x=y1||dy3;
  24. MPRINT(MM):   y1=x;
  25. MPRINT(MM):   x=y1||dy4;
  26. MPRINT(MM):   y1=x;
  27. MPRINT(MM):   x=y1||dy5;
  28. MPRINT(MM):   y1=x;
  29. MPRINT(MM):   x=y1||dy6;
  30. MPRINT(MM):   y1=x;
  31. MPRINT(MM):   x=y1||dy7;
  32. MPRINT(MM):   y1=x;
  33. MPRINT(MM):   x=y1||dy8;
  34. MPRINT(MM):   y1=x;
  35. MPRINT(MM):   xs=ly[8+1:25-1]|| bpho=inv(xs*xs)*xs*dy[8+1:25-1];
  36. ERROR: (execution) Matrix has not been set to a value.

  37. operation : * at line 9 column 88
  38. operands  : XS, XS

  39. XS      0 row       0 col     (type ?, size 0)


  40. XS      0 row       0 col     (type ?, size 0)


  41. statement : ASSIGN at line 9 column 88
  42. MPRINT(MM):   tpho=25*bpho[1]/(1-sum(bpho[2:8+1]));
  43. ERROR: (execution) Matrix has not been set to a value.
复制代码

29
harlon1976 发表于 2011-10-30 14:19:28
numman 发表于 2011-10-30 11:21
昨天用的机子 sas9.2的模块有点问题
我又运行了下 发现你程序是不是从别处copy过来的  有`*符号
我iml 用 ...
首先`表示矩阵的转置,*表示矩阵的乘积,没有错误,但你的log的35行有问题,程序应该为:
xs=ly[&flag+1:&n]||x;
bpho=inv(xs`*xs)*xs`*dy[&flag+1:&n];
你看看你的程序在出问题的地方是否是这样的。下载的程序没有问题,而且当提交的参数较小时能够运行,但较大时就出现问题,所以我怀疑还是设置方面的问题,可惜很多高手不愿指点一二啊!老兄仔细看看这个程序。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 09:47