📄 黄金分割法.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 + -