黄金分割法matlab 我在-3到5的区间求 x^2+2x的最小值 下面程序哪错了?>> a=-3,b=5,e=0.0001,t=0.618;>> u=b-a;>> a1=b-t*u,f1=a1^2+2*a1;>> a2=a+t*u,f2=a2^2+2*a2;>> while u>eif f1>f2 a=a1,a1=a2,f1=f2,a2=a+t*u,f2=a2^2+2*a2;else b=a2,a2=a
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/26 20:39:07
黄金分割法matlab 我在-3到5的区间求 x^2+2x的最小值 下面程序哪错了?>> a=-3,b=5,e=0.0001,t=0.618;>> u=b-a;>> a1=b-t*u,f1=a1^2+2*a1;>> a2=a+t*u,f2=a2^2+2*a2;>> while u>eif f1>f2 a=a1,a1=a2,f1=f2,a2=a+t*u,f2=a2^2+2*a2;else b=a2,a2=a
黄金分割法matlab 我在-3到5的区间求 x^2+2x的最小值 下面程序哪错了?
>> a=-3,b=5,e=0.0001,t=0.618;
>> u=b-a;
>> a1=b-t*u,f1=a1^2+2*a1;
>> a2=a+t*u,f2=a2^2+2*a2;
>> while u>e
if f1>f2
a=a1,a1=a2,f1=f2,a2=a+t*u,f2=a2^2+2*a2;
else b=a2,a2=a1,f2=f1,a1=b-t*u,f1=a1^2+2*a2;
end
u=b-a;
end
黄金分割法matlab 我在-3到5的区间求 x^2+2x的最小值 下面程序哪错了?>> a=-3,b=5,e=0.0001,t=0.618;>> u=b-a;>> a1=b-t*u,f1=a1^2+2*a1;>> a2=a+t*u,f2=a2^2+2*a2;>> while u>eif f1>f2 a=a1,a1=a2,f1=f2,a2=a+t*u,f2=a2^2+2*a2;else b=a2,a2=a
条件语句里的a2 = a + t * u和a1 = b - t * u有问题,这里的u还是上一次b-a的值,还没有更新呢.要么把u=b-a移到这之前,要么把系数修改成(1-t).