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

📄 eval.m

📁 HERE IS A GOOD PSO TOOL BOX
💻 M
字号:
function r = eval(obj, vars)% GPVAR/EVAL  Implements EVAL command for GP variables.%% Returns GP variable value given the list of GP variable values.%sz = size(vars);if( ~isa(vars,'cell') || sz(2) ~= 2 )  error('Second argument should be a cell array with 2 rows');end% check that all the gp variables are positive (implicit GP constraint)for k = 1:size(vars,1)  var_values = vars{k,2};  if any(var_values <= 0)    error('GP variables must have positive value.');  endend% expand arrays in varsvars_expand = {};for k = 1:sz(1)  array = vars{k,2};  array_length = length(array);  if( array_length > 1 ) % have an array    for m = 1:array_length      if(     m < 10  ),     numstr = ['00000' num2str(m)];      elseif( m < 100 ),     numstr = ['0000'  num2str(m)];      elseif( m < 1000 ),    numstr = ['000'   num2str(m)];      elseif( m < 10000 ),   numstr = ['00'    num2str(m)];      elseif( m < 100000 ),  numstr = ['0'     num2str(m)];      else                   numstr = num2str(m);      end      sz = size(vars_expand);      vars_expand{sz(1)+1,1} = [vars{k,1} '__array__' numstr];      vars_expand{sz(1)+1,2} = array(m);    end  else                   % have a scalar    sz = size(vars_expand);    vars_expand{sz(1)+1,1} = vars{k,1};    vars_expand{sz(1)+1,2} = vars{k,2};   end                    end% reduction algorithm[tf, loc] = ismember( obj.label, {vars_expand{:,1}} );if tf  r = vars_expand{loc,2}; % if GP variable is in the list return its valueelse  r = obj; % otherwise return it back as a gpvar objectend

⌨️ 快捷键说明

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