⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 f618.m

📁 可以用黄金分割和斐波那契算法实现优化
💻 M
字号:
function [x,minf]=f618(precision,t0,h)
%用黄金分割法进行优化
%初始区间为a,b,相对精度precision 即为原始区间的几分之几,t0为初始值,h为步长

%初始化变量,其中初始步长系数为2,初始区间由进退法求的,每次区间缩短后的两端用  An,Bn表示,n为迭代次数
c=2; 
[a,b]=areafind(t0,h,c);
An=a;
Bn=b;
n=1;

tic     %主体程序运行时间
while 0.618^(n-1)>=precision | n>100000    %当精度满足或则迭代次数大于100000时停止算法
    A=0.382.*(Bn-An)+An;
    B=0.618.*(Bn-An)+An;
        
         if g(A)<g(B)
             Bn=B;
         else
             An=A;
         end
         
    n=n+1;
end
toc

x=(An+Bn)/2;
minf=g(x);

  %画出函数图像进行对比
  fplot('x^4-2*x+4',[0,2,2.5,4]);
  hold on
  scatter(x,g(x),8,'r');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -