全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4418 2
2016-06-18
求一个数的平方根,各种程序都会有sqrt函数,SAS当然也有。本人不才,今天在SAS文档中查其他资料时,偶然发现这样一个求解平方根的算法。
proc iml;                   /* begin IML session */

start MySqrt(x);            /* begin module */
   y = 1;                   /* initialize y */
   do until(w<1e-3);        /* begin DO loop */
      z = y;                /* set z=y */
      y = 0.5#(z+x/z);      /* estimate square root */
      w = abs(y-z);         /* compute change in estimate */
      print x y z ;
   end;                     /* end DO loop */
   return(y);               /* return approximation */
finish;

t = MySqrt({3,4,7,9});      /* call function MySqrt  */
s = sqrt({3,4,7,9});        /* compare with true values */
diff = t - s;               /* compute differences */
print t s diff;             /* print matrices */

部分输出结果:

xyz
31.73205081.7320508
422.0000001
72.64575132.645767
933.0000916



tsdiff
1.73205081.73205080
222.22E-15
2.64575132.64575134.678E-11
331.397E-9




二维码

扫码加我 拉你入群

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

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

全部回复
2016-6-18 23:46:13
欢迎大家积极共享自己的心得体会!
二维码

扫码加我 拉你入群

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

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

2016-6-19 00:08:36
提示: 作者被禁止或删除 内容自动屏蔽
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群