Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#11 |
高级会员
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19 ![]() |
![]()
你的y算出来都是2啊,肯定哪错了,我不太懂bisection的原理,还是自己好好检查一下
|
![]() |
![]() |
![]() |
#12 |
初级会员
注册日期: 2008-10-02
年龄: 16
帖子: 6
声望力: 0 ![]() |
![]()
好像图做出来了...但结果好像有点乱...我再查一遍...
谢谢 ![]() y=zeros(1,200); i=1; for x=0:0.01:2 a=-2;b=2; % try 200 x, get 200 y while (b-a)/2>10^(-12) c=(a+b)/2; if (x^3+x*a+a^3)*(x^3+x*c+c^3)== 0 , %c is a solution, done break; end if (x^3+x*a+a^3)*(x^3+x*c+c^3)<0 %a and c make the new interval b=c; else %c and b make the new interval a=c; end end y(i)=(a+b)/2; %new midpoint is best estimate i=i+1; disp('x='); disp (x); disp('y='); disp (y) ; end x=0:0.01:2 plot(x,y)
__________________
我才学Matlab,不理解的过程很难过 。大家的任何帮助我都万分感激! |
![]() |
![]() |
![]() |
#13 |
高级会员
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19 ![]() |
![]()
我看图已经画对了啊,基本成功了:biggrin:
|
![]() |
![]() |