全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3171 2
2013-05-12
data a;
start=1;
end=2;
do until(range(start,end) le 0.0001);
   y1=log(start)+start-1.5;
   temp=(start+end)/2;
   y2=log(temp)+temp-1.5;
   y3=log(end)+end-1.5;
   if y1*y2<0 then do;
   end=temp;
   end;
   else if y1*y3<0 then do;/*有赋值语句时最好使用do组*/
   start=temp;
   end;
   put y1=;
   put y2=;
   put y3=;
   put start=;
   put temp=;
   put end=;
end;
final_value=(start+end)/2;
put start=;
put end=;
put final_value;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-12 20:25:25
  else if y1*y3<0 then do;/*有赋值语句时最好使用do组*/
   start=temp;
   end;

不懂原理,瞎标注释
二维码

扫码加我 拉你入群

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

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

2013-5-12 23:47:27
Imasasor 发表于 2013-5-12 20:25
else if y1*y3
1、首先二分法求解方程没错;
2、用不用do,程序照样可以正常执行;
3、我个人习惯用do组,如果条件语句要执行多语句不用do组,还恳请指点?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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