📄 gain.m
字号:
function r = gain(s,wind)
%分组,结构保存成(value,num)和svalue
temp = size(wind);
total_num = temp(1);
%初始化p
p(1,1) = wind(1);
p(1,2) = 1;
s1(1,1) = s(1);
for i = 2:1:total_num
p_length = size(p);
is_find = 0;
for j = 1:1:p_length(1)
if(wind(i)==p(j,1))
p(j,2) = p(j,2)+1;
eval(['temp_s_size = size(s' num2str(j) ');']);
eval(['s' num2str(j) '(' num2str(temp_s_size(1)) '+1,1)=' num2str(s(i)) ';']);
is_find = 1;
break;
end
end
if(is_find==0)
p(p_length(1)+1,1) = wind(i);
p(p_length(1)+1,2) = 1;
eval(['s' num2str(p_length(1)+1) '(1,1) = ' num2str(s(i)) ';']);
end
end
%分组结束,开始计算
r_plus = 0;
p_length = size(p);
for i = 1:1:p_length(1)
eval(['temp = s' num2str(i) ';']);
r_plus = r_plus + (p(i,2)/total_num)*entropy(temp);
end
r = entropy(s)-r_plus;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -