楼主: 肝贝
1171 2

姚老师书上的一段二分法求解困惑~ [推广有奖]

  • 12关注
  • 1粉丝

幸儿

博士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
675 个
通用积分
1.0042
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
294 点
帖子
192
精华
0
在线时间
264 小时
注册时间
2013-11-9
最后登录
2019-11-19

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
data _null_;
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;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;

菜鸟想问 为什么这里的else if后面是y1*y3而不是y2*y3,我都试过,两个结果是一样的,但是,要是我写,我肯定写y2*y3,为什么姚老师用y1*y3呢??

二维码

扫码加我 拉你入群

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

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

关键词:二分法 Start until range STAR 二分法 start null

I'll never let go.
沙发
mingfeng07 学生认证  发表于 2015-3-24 15:30:08 |只看作者 |坛友微信交流群
因为如果第一个条件不满足的话,那么可以判断y1和y2同号,那么第二个条件中y1*y3和y2*y3就没有区别了。

使用道具

藤椅
肝贝 发表于 2015-3-24 17:06:38 |只看作者 |坛友微信交流群
mingfeng07 发表于 2015-3-24 15:30
因为如果第一个条件不满足的话,那么可以判断y1和y2同号,那么第二个条件中y1*y3和y2*y3就没有区别了。
哦~~原来是这样,谢谢您~~

使用道具

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

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

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

GMT+8, 2024-5-21 14:36