gong_e.asv
来自「最优化算法」· ASV 代码 · 共 46 行
ASV
46 行
function [ output_args ] = Gong_E( input_args )
%GONG_E Summary of this function goes here
% Detailed explanation goes here
times=1, circles=1;
x1=input('请输入初始点[x1,x2]=');
s=input('请输入精度s=');
xk=x1;
xk_1=x1;
d_x1=D_F(x1);%求出初始点导数
d_xk=d_x1;
d_xk_1=d_x1;
if(norm(d_x1,2)<s)%求出向量d_x1的范数
fprintf('最小值为\n:') ;
disp(x1);
fprintf('迭代步数:\n');
disp(circles);
return;
else
while(norm(d_xk_1)>s)
z_k=-D_F(x1);
while(times<2)
circles=circles+1;
p=min_F1(xk,z_k);
xk_1=xk+p.*z_k;
d_xk_1=D_F(xk_1);%k+1 gradient
if(norm(d_xk_1)<s)
fprintf('最小值为\n:') ;
disp(xk_1);
fprintf('迭代步数:\n');
disp(circles);
return;
else
times=times+1;
ak=(norm(d_xk_1))^2/(norm(d_xk))^2;
z_k_1=-d_xk_1+ak.*z_k;
z_k=z_k_1;
xk=xk_1;
d_xk=d_xk_1;
end
end
times=1;
x1=xk_1;
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?