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

📄 kmean.m

📁 径向基神经网络程序加上应用
💻 M
字号:
function [gau,center,variance]= kmean(x,group,dataNum)

center = randperm(50);
center = center(1:group);
center = x(center);
sumtimes = zeros(1,group);
sumA = zeros(1,group);
variance = zeros(1,group);

[dnum dnum] = size(x);

oldbelong = 100*ones(1,dnum);

for k = 1: 100000
    minv = 1000000;
    
    for i=1:dnum     
        for j=1:group
            %assign group
            if (x(i)-center(j)).^2 <minv          
                minv = (x(i)-center(j))^2;
                belong(i) = j;
            end 
        end
        
        sumA(belong(i)) = sumA(belong(i))+x(i);
        sumtimes(belong(i)) = sumtimes(belong(i))+1;
        variance(belong(i)) = variance(belong(i))+minv;
        minv = 1000000;
    end
    
    if abs(sum((belong - oldbelong)))==0;
        disp 'completed!'
        %variance = variance ./ sumtimes;
        
        % get the average variance. 
        %variance = mean(variance);
        
        xx = [0:0.001:1];
               
        for i=1:group
        %    gau(i,:) = exp(-1*(x-center(i)).^2/(2*variance(i)));
        %    gauu(i,:) = exp(-1*(xx-center(i)).^2/(2*variance(i)));
        end
        %gau(group+1,:) = ones(1,50);
        
        %figure
        %plot(xx,gauu);
        break;
    end
    
    % calculate new center
    center = sumA ./ sumtimes;
    sumA = zeros(1,group);
    sumtimes = zeros(1,group);
    variance = zeros(1,group);
    oldbelong = belong;
    
end

⌨️ 快捷键说明

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