📄 group.m
字号:
function x=group(filename,chrom,len,fcode); % 给出染色体对应的分组情况;filename为基金性质文件(xls),len为每个性质用多少位代码表示,返回基金分类号
% fcode为染色体编码类型
a=xlsread(filename); % 读入
[n q]=size(a); % n为基金数;q为性质数
[cx cy]=size(chrom); % cx为染色体数,cy为染色体长度
g=cy/q/len; % g为分类数
xtemp=zeros(g,n,cx); % 3维临时矩阵
for s=1:cx
madoidtemp=reshape(chrom(s,:),q*len,g); % 分解染色体为q*len×g的矩阵
madoid=bs2rv(madoidtemp',[repmat(len,1,q);min(a);max(a);repmat(fcode,1,q);repmat(0,1,q);repmat(1,2,q)]);% 把染色体转换为实值属性值
t=zeros(1,n); % 每个基金属于哪一类的标号
for i=1:n % 识别
[temp t(i)]=min(sum((repmat(a(i,:),g,1)-madoid).^2,2));
end
for i=1:g
j=find(t==i); % 找出属于第i类的基金
if j
xtemp(i,1:length(j),s)=j;
end
end
x=xtemp;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -