jintui.m
来自「黄金分割法(0.618)程序」· M 代码 · 共 41 行
M
41 行
function [a,b]=JinTui(x0,h)
%进退法,调用函数为F,x0为初始值,h为步长,其中h应大于0
x1=x0; f1=F(x0);
x2=x0+h; f2=F(x2);
if f1>f2
h=2*h;
x3=x0+h;
f3=F(x3);
else
h=-h;
x3=x1; f3=f1;
x1=x2; f1=f2;
x2=x3; f2=f3;
x3=x0+h; f3=F(x3);
end
while f2>f3
h=2*h;
x1=x2;
x2=x3;
x3=x0+h;
f3=F(x3);
end
if h>0
a=x1;
b=x3;
else
a=x3;
b=x1;
end
%============================================
%测试数据 测试函数为f(x)=3*x^3-4*x+2
% >> [a,b]=JinTui(0,1)
%
% a =
%
% 0
%
%
% b =
%
% 2
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?