楼主: fattyclouds
2503 2

sas迭代问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

39%

还不是VIP/贵宾

-

威望
0
论坛币
693 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
586 点
帖子
46
精华
0
在线时间
102 小时
注册时间
2008-5-29
最后登录
2019-4-16

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问这样的动态迭代过程用什么样的procedure比较好?谢谢!
每一步所有关于 g,h,nestep,ntdecsq和hv[i+1]都是带入更新后的v[i+1]和t[i+1]得到的。如果v[i+1]和t[i+1]不需要更新,直接记录v[i]和t[i]。
data zero;
set zero;
e=10**(-6);
v0=0;                    
ntstep=-g/h;                             
ntdecsq=(g/h)*g;            g,h,nestep,ntdecsq和hv0都是关于v0的函数(具体的函数表达式省略了)
hv0=-sum(of h1-h10);
t1=1;  
if ntdecsq<e then v1=v0;  else v1=v0+t1*ntstep;                     
run;

data one;
set zero;              
ntstep=-g/h;                             
ntdecsq=(g/h)*g;            g,h,nestep,ntdecsq和hv1都是关于v1和t1的函数   
hv1=-sum(of h1-h10);      
t2=0.8*t1;
if ntdecsq<e then v2=v1;                                       
else v2=v1+t2*ntstep;                  
run;

data two;
set one;         
ntstep=-g/h;                             
ntdecsq=(g/h)*g;            g,h,nestep,ntdecsq和hv2都是关于v2和t2的函数      
hv2=-sum(of h1-h10);  
t3=0.8*t2;
if ntdecsq<e then v3=v2;                                       
else v3=v2+t3*ntstep;  
run;

依此类推看是否需要更新v[i+1]为v[i+1]=v[i]+t[i+1]*ntstep,以及更新t[i+1]为t[i+1]=0.8*t[i].
二维码

扫码加我 拉你入群

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

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

关键词:Procedure Step nest zero OCED procedure 表达式 动态

沙发
boe 发表于 2013-7-19 01:09:42 |只看作者 |坛友微信交流群
貌似可以在一个data step里用array
Gorgeous girl , I love !

使用道具

藤椅
fattyclouds 发表于 2013-7-19 01:40:48 |只看作者 |坛友微信交流群
boe 发表于 2013-7-19 01:09
貌似可以在一个data step里用array
我想能不能在iml里用什么do until或者do while或者其他条件语句之类的,但是我对iml不熟,不知道这样能不能行的通?

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 19:05