📄 golddiv.m
字号:
function [fm,tm]=golddiv(f,t,mi,ma)
%黄金分割法求极小,返回值fm为函数极小值,tm为极小值点,f为给定函数,t为函数变量,[a,b]为变量t的搜索区间
beta=(sqrt(5)-1)/2; %黄金分割比例
a=mi;
b=ma;
t2=a+beta*(b-a);
f2=subs(f,t,t2);
t1=a+b-t2;
f1=subs(f,t,t1);
while(abs(t1-t2)>=1e-4) %当两插值相差小于1e-4时停止搜索
if(f1<=f2)
b=t2;
t2=t1;
f2=f1;
t1=a+b-t2;
f1=subs(f,t,t1);
else
a=t1;
t1=t2;
f1=f2;
t2=a+beta*(b-a);
f2=subs(f,t,t2);
end
end
tm=(t1+t2)/2;
fm=subs(f,t,tm);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -