发布网友 发布时间:2022-04-27 07:40
共1个回答
热心网友 时间:2023-09-13 22:51
先创建一个函数
function
[F]=f(x)
F=sin(x)+cos(2*x);
在建立一个M文件
clear;
a=1,b=2;
x1=a+0.382*(b-a);
x2=a+0.618*(b-a);
while((b-a)>0.000000000000001)
if(f(x1)<f(x2))
a=a;
b=x2;
x2=x1;
x1=a+b-x2;
elseif(f(x1)>f(x2))
a=x1;
b=b;
x1=x2;
x2=a+b-x1
else(f(x1)==f(x2))
a=x1;
b=x2;
x1=a+0.382*(b-a);
x2=a+0.618*(b-a);
end
end
计算出来接近于0,通过plot函数绘制出该函数的图形也可以看到最小值接近于0,希望对你有帮助