📄 crtrp.m
字号:
% CRTRP.M (CReaTe an initial (Real-value) Population)%% This function creates a population of given size of random real-values. %% Syntax: Chrom = crtrp(Nind,FieldDR);%% Input parameters:% Nind - A scalar containing the number of individuals in the new % population.%% FieldDR - A matrix of size 2 by number of variables describing the% boundaries of each variable. It has the following structure:% [lower_bound; (vector with lower bound for each veriable)% upper_bound] (vector with upper bound for each veriable)% [lower_bound_var_1 lower_bound_var_2 ... lower_bound_var_Nvar;% upper_bound_var_1 upper_bound_var_2 ... upper_bound_var_Nvar]% example - each individuals consists of 4 variables:% FieldDR = [-100 -50 -30 -20; % lower bound% 100 50 30 20] % upper bound% % Output parameter:% Chrom - A matrix containing the random valued individuals of the% new population of size Nind by number of variables.% Author: Hartmut Pohlheim% History: 23.11.93 file created% 25.02.94 clean up, check parameter consistencyfunction Chrom = crtrp(Nind,FieldDR);% Check parameter consistency if nargin < 2, error('parameter FieldDR missing'); end if nargin > 2, nargin = 2; end [mN, nN] = size(Nind); [mF, Nvar] = size(FieldDR); if (mN ~= 1 & nN ~= 1), error('Nind has to be a scalar'); end if mF ~= 2, error('FieldDR must be a matrix with 2 rows'); end% Compute Matrix with Range of variables and Matrix with Lower value Range = rep((FieldDR(2,:)-FieldDR(1,:)),[Nind 1]); Lower = rep(FieldDR(1,:), [Nind 1]);% Create initial population% Each row contains one individual, the values of each variable uniformly% distributed between lower and upper bound (given by FieldDR) Chrom = rand(Nind,Nvar) .* Range + Lower;% End of function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -