gold.m

来自「黄金分割法(0.618)程序」· M 代码 · 共 27 行

M
27
字号
function [x,fx]=Gold(a,b,i,R2,R4,R5,R6,R8,UG0,UG2,UD0,UD3,UA0)
%初始区间为a,b,相对精度e 即为原区间的多少分之,x0为初始值,h为步长
e=0.0001;
while abs(b-a)>=e
x1=a+0.382.*(b-a);  f1=F(x1,i,R2,R4,R5,R6,R8,UG0,UG2,UD0,UD3,UA0);
x2=a+0.618.*(b-a);  f2=F(x2,i,R2,R4,R5,R6,R8,UG0,UG2,UD0,UD3,UA0);
if f1<f2
             b=x2;
             x2=x1;
             f2=f1;
 else
             a=x1;
             x1=x2;
             f1=f2;
end
end

%    if f1<f2
%        x1=a+0.382.*(b-a);
%        f1=F(x1);
%    else
%        x2=a+0.618.*(b-a);
%        f2=F(x2);
%    end  
x=(a+b)/2;
fx=F(x,i,R2,R4,R5,R6,R8,UG0,UG2,UD0,UD3,UA0);

⌨️ 快捷键说明

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