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

📄 黄金分割法.m

📁 在matlab编译的利用黄金分割法求解的优化算法及实例
💻 M
字号:

%黄金分割法
clear
fun=inline('x^2-7*x+10');
a=-500;
b=500;
e=0.0000001;
const=0.618;
a1=b-const*(b-a);
a2=a+const*(b-a);
y1=fun(a1);
y2=fun(a2);
flag=0;
n=0;
while flag==0
    if y1>=y2
        a=a1;
        a1=a2;
        y1=y2;
        a2=a+const*(b-a);
        y2=fun(a2);
    else
        b=a2;
        a2=a1;
        y2=y1;
        a1=b-const*(b-a);
        y1=fun(a1);
    end
    if abs(a-b)/b<0.000000001
        flag=1;
    end
    n=n+1; %跌代次数
end
         ax=0.5*(a+b)
          y=y1
x=0.5*(a+b); %x值
disp(['x值为' num2str(x)])
y=y1; %y值
disp(['y值为' num2str(y)])
%跌代次数
disp(['跌代次数' num2str(n)])

          
x=-100:1:100;
y=x.^2-7*x+10;
plot(x,y)
text(ax,y1,num2str(y1))

⌨️ 快捷键说明

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