SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 562|回复: 2
打印 上一主题 下一主题

请问这个程序如何理解?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-4-20 17:00:45 | 只看该作者

请问这个程序如何理解?

注释里注明问号的语句,不理解是什么含义?请高手不吝赐教!
非常感谢!
proc iml;
reset deflib=resdat;
start approx(x);   /* ?  */
y=1;
do until(w<1e-3);
z=y;
y=0.5#(z+x/z);    /* ?  */
w=abs(y-z);               /* ?  */
end;
return(y);
finish approx;
t=approx({3,5,7,9});
print t;
quit;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-4-20 20:31:07 | 只看该作者

Re: 请问这个程序如何理解?

我想你问的并不是这个code的意思而是为什么这种算法可以找出平方根。这种算法也叫Babylonian method。是一种循环求解的方式。其初始值y可以是任意的,并不局限于某个值,比如这里的1.
京剧
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2011-4-22 09:43:29 | 只看该作者

Re: 请问这个程序如何理解?

之前没有接触过,非常感谢jingju11!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 14:59 , Processed in 0.068440 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表