⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_cost_func2.m

📁 模拟退火的源代码。关于matlab的大家好好学习以下吧
💻 M
字号:
function [cost_value, cost_flag, user_acceptance_flag] = ...
  test_cost_func2 (x, critical_cost_value, no_test_flag);
%
% $Id: test_cost_func2.m,v 1.27 2004/10/03 03:23:06 ssakata Exp ssakata $
%
% a_i = parameter_upper_bound[i] 
s_i = 0.2;
t_i = 0.05;
c_r = 0.15;

q_n = 0.0;
parameter_dimension = 4;

for i = 1 : parameter_dimension,
  j = mod(i-1,4);
  switch (j)
     case 0, d_i = 1.0;
     case 1, d_i = 1000.0;
     case 2, d_i = 10.0;
     otherwise, d_i = 100.0;
  end
  if x(i) > 0.0
    k_i = fix(x(i) / s_i + 0.5);
  elseif x(i) < 0.0
    k_i = fix(x(i) / s_i - 0.5);
  else
    k_i = 0;
  end

  if abs (k_i * s_i - x(i)) < t_i
    if k_i < 0
      z_i = k_i * s_i + t_i;
    elseif k_i > 0
      z_i = k_i * s_i - t_i;
    else
      z_i = 0.0;
    end
    q_n = q_n + c_r * d_i * z_i * z_i;
  else
    q_n = q_n + d_i * x(i) * x(i);
  end
end;  
cost_value = q_n;
cost_flag=1;
user_acceptance_flag = 0;
if no_test_flag == 0
  if cost_value <= critical_cost_value
    user_acceptance_flag = 1;
  end
end

⌨️ 快捷键说明

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