📄 goldfind.txt
字号:
一、 实验题目
分别用0.618法和Fibonacci法求解下列问题:
要求最终区间长度L=0.0005,取初始区间为[0,1]。
function [minx,miny,k]=GoldFind(a,b,ep)
%函数名:GoldFind--0.618法,搜索目标函数之极值
%参 数:confun--目标函数名 [a,b]--搜索区间(a<b) ep--精度要求
%返回值:minx--极值点 miny--极值点函数值 k--迭代次数
if a>=b
error('ERROR IN INPUTING!--a<b');
break
end
t1=a+0.382*(b-a);
t2=a+0.618*(b-a);
f1=confun(t1);
f2=confun(t2);
k=1;
while 1
if f1<=f2
if t2-a<ep
minx=t1;
break
else
b=t2;
t2=t1;
t1=b-0.618*(b-a);
f2=f1;
f1=confun(t1);
end
elseif b-t1<ep
minx=t2;
break
else
a=t1;
t1=t2;
t2=a+0.618*(b-a);
f1=f2;
f2=confun(t2);
end
k=k+1;
end
miny=confun(minx);
求解:
a=0;
b=1;
ep=0.0005;
[minx,miny,k]=GoldFind(a,b,ep)
〉〉Gold
minx =
0.3517
miny =
0.8272
k =
16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -