Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
普通会员
注册日期: 2009-02-22
帖子: 91
声望力: 18 ![]() |
![]()
没问题的,循环13次,
y = 3.2948e-006 估计是你的fun1没在当前工作目录下!!! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-06-08
帖子: 3
声望力: 0 ![]() |
![]()
非常感谢上面的两位,我仔细看了一下是while 后面没加括号。大家再帮我看一下这个程序为什么还是出执行while循环体呢,
clc clear a0=0.2 b0=1 a1=a0 a3=b0 a2=0.6 c1=(fun2(a3)-fun2(a1))/(a3-a1) c2=((fun2(a2)-fun2(a1))/(a2-a1)-c1)/(a2-a3) a=1/2*(a1+a3-c1/c2) while (abs(a-a2))>0.01 if a>a2 if fun2(a)<fun2(a2) a3=a else a1=a2 a2=a end else if fun2(a)<fun2(a2) a3=a2 a2=a else a1=a end end c1=(fun2(a3)-fun2(a1))/(a3-a1) c2=((fun2(a2)-fun2(a1))/(a2-a1)-c1)/(a2-a3) a=1/2*(a1+a3-c1/c2) end x=a 函数体是: function y=fun2(x) y=x+20/x |
![]() |
![]() |