SAS中文论坛

标题: sas 编程的问题 [打印本页]

作者: shiyiming    时间: 2005-8-22 16:24
标题: sas 编程的问题
options ps=50;
data ;
  seed = 387199232;
  delta = 0.25;
  sigma0 = 1.0;
  UCL = 3;
  LCL = -3;
  numrun = 1000;
  maxsam = 10000; *This has to be large;
  jjj = 0;
  muhatT = 0;
  array xxx xxx1-xxx5;

  
  keep    xbar muhatT rlen;


  NEWRUN:
    rlen = 1;
jjj = jjj + 1;
    if jjj > numrun then stop;
    temp=0;  
      do i = 1 to maxsam;
        do over xxx;
          xxx=rannor(seed);
     end;
     xbar = xxx1;
  xbar = xxx1 + delta;
   
  
     If (xbar > UCL)|(xbar < LCL) then do;
               muhatT = temp;
              output;
      goto NEWRUN;
     end;
        temp=xbar;
        rlen = rlen + 1;
             *output;
  end;


run;
proc print;
var  xbar muhatT;
run;
proc means;
  var muhatT rlen;
run;

========================================

如何再找xbar的下标t1, if rlen 使得(xbar[rlen] > UCL), max{t:xbar[t]<=0,0<=t<rlen} ; if rlen 使得(xbar[rlen] < LCL), max{t:xbar[t]>=0,0<=t<rlen}
再找x的下标t2,t2是使得{(xbar[1]^2+...+xbar[t]^2)+(xbar[t+1]^2+...+xbar[rlen]^2)}最大的下标t的值,其中0<=t<rlen
作者: shiyiming    时间: 2005-9-2 16:13
标题: 好帖
好帖




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2