compare.m

来自「求解非线性最化的局部最优解,matlab,matlab例程」· M 代码 · 共 20 行

M
20
字号
%% the compare function is the stop condition
%% 
function f=compare( x )
global r_al pena N_equ N_inequ;
h_equ=0;
h_inequ=0;
temp_constrains=constrains( x );
N=N_equ+N_inequ;

for i=1:N
    %% the equality constrains part;
    if N_equ~=0 && N_equ>=i
            h_equ=h_equ + temp_constrains(i).^2;
    end
    %% the inequality constrains part;
    if N_inequ~=0 && i>N_equ       
            h_inequ=h_inequ + ( max( -temp_constrains(i), -r_al(i)/pena ) ).^2;     
    end
end
f=sqrt( h_equ +h_inequ );

⌨️ 快捷键说明

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