亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 2維fcm.txt

?? 2維的FCM算法matlab程序。傳上來跟大家交流一下
?? TXT
?? 第 1 頁 / 共 2 頁
字號(hào):
function fcmdemo(action)
%FCMDEMO Fuzzy c-means clustering demo (2-D).
%   FCMDEMO displays a GUI window to let you try out various parameters
%   in fuzzy c-means clustering for 2-D data. You can choose the data set
%   and clustering number from the GUI buttons at right, and then click
%   "Start" to start the fuzzy clustering process.
%
%   Once the clustering is done, you can select one of the clusters by
%   mouse and view the MF surface by clicking the "MF Plot" button.
%   (Note that "MF Plot" is slow because MATLAB is using the command
%   "griddata" to do interpolation among all data points.) To get a
%   better viewing angle, click and drag inside the figure to rotate the
%   MF surface.
%
%   If you choose to use a customized data set, it must be 2-D data.
%   Moreover, the data set is normalized to within the unit cube
%   [0,1] X [0,1] before being clustered.
%
%   File name: fcmdemo.m
%
%   See also DISTFCM, INITFCM, IRISFCM, STEPFCM, FCM.
%   J.-S. Roger Jang, 12-12-94.
%   Copyright 1994-2004 The MathWorks, Inc.
%   $Revision: 1.16.2.2 $  $Date: 2004/04/10 23:15:17 $

global FcmFigH FcmFigTitle FcmAxisH FcmCenter FcmU OldDataID
if nargin == 0,
    action = 'initialize';
end
if strcmp(action, 'initialize'),
    FcmFigTitle = '2-D Fuzzy C-Means Clustering';
    FcmFigH = findobj(0, 'Name', FcmFigTitle);
    if isempty(FcmFigH)
        eval([mfilename, '(''set_gui'')']);
        % ====== change to normalized units
                set(findobj(FcmFigH,'Units','pixels'),'Units','normal');
                % ====== make all UI interruptible
                set(findobj(FcmFigH,'Interrupt','off'),'Interrupt','on');
    else
% set(FcmFigH, 'color', get(FcmFigH, 'color'));
refresh(FcmFigH);
    end
elseif strcmp(action, 'set_gui'),   % set figure, axes and gui's
    % ====== setting figure
    FcmFigH = figure('Name', FcmFigTitle, 'NumberTitle', 'off','DockControls','off');
%%  set(0, 'Currentobject', FcmFigH);
    % set V4 default color
    colordef(FcmFigH, 'black');
    figPos = get(FcmFigH, 'position');
    % ====== setting axes
    border = 30;
    axes_pos = [border border figPos(4)-2*border figPos(4)-2*border];
    FcmAxisH = axes('unit', 'pix', 'pos', axes_pos, 'box', 'on');
    %axis([-inf inf -inf inf]); % fit axis to data
    axis([0 1 0 1]);
    axis square;
    set(FcmAxisH, 'xtick', [], 'ytick', []);
    % ====== setting gui buttons
    % ============ background gui frame
    border = 10;
    ui_usable_pos = [figPos(4) 0 figPos(3)-figPos(4) figPos(4)];
    [frameH, tmp] = uiarray(ui_usable_pos, 1, 1, border, 0, 'text');
    ui_frame_pos = [tmp(1)-border, tmp(2), tmp(3)+border, tmp(4)];
    set(frameH, 'position', ui_frame_pos);
    set(frameH, 'backgroundcolor', [0.5 0.5 0.5]);
    tmp1 = str2mat('popup', 'popup', 'radio', 'push', 'push', 'push');
    tmp2 = str2mat('text', 'text', 'text');
    tmp3 = str2mat('push', 'push');
    style = str2mat(tmp1, tmp2, tmp3);
    [uiH, uiPos] = uiarray(ui_frame_pos, size(style,1), 1, 5, 5,style);
    % ============ background gui frame
    bgc = [0.5 0.5 0.5];
    fgtc = [1 1 1];
    % ============ data set
    set(uiH(1), 'string', ...
        'Data Set 1|Data Set 2|Data Set 3|Data Set 4|Data Set 5|Custom ...');
    set(uiH(1), 'callback', ...
        [mfilename, '(''get_data''); ', ...
         mfilename, '(''init_U''); ', ...
         mfilename, '(''label_data0''); ', ...
         mfilename, '(''display_data'');']);
    set(uiH(1), 'tag', 'data_set');
    % ============ cluster number
    set(uiH(2), 'string', '2 Clusters|3 Clusters|4 Clusters|5 Clusters|6 Clusters|7 Clusters|8 Clusters|9 Clusters|10 Clusters');
    set(uiH(2), 'callback', [mfilename, '(''cluster_number'');']);
    set(uiH(2), 'tag', 'cluster_number');
    % ============ label cluster
    set(uiH(3), 'string','Label Data', 'tag', 'label_data');
    set(uiH(3), 'callback', [mfilename, '(''label_data'')']);
    % ============ clear trajectory
    set(uiH(4), 'string', 'Clear Traj.', 'tag', 'clear_traj');
    set(uiH(4), 'callback', [mfilename, '(''clear_traj'')']);
    % ============ clear center
    set(uiH(5), 'string', 'MF Plot', 'tag', 'mf_plot');
    set(uiH(5), 'callback', [mfilename, '(''mf_plot'')']);
    % ============ start & stop
    set(uiH(6), 'string','Start');
    set(uiH(6), 'tag', 'start');
    set(uiH(6), 'callback', [mfilename, '(''start_stop'')']);
    % ============ exponential
    delete(uiH(7));
    tmpH = uiarray(uiPos(7,:), 1, 2, 0, 0, str2mat('text', 'edit'));
    set(tmpH(1), 'string','Expo.:', 'back', bgc, 'fore', fgtc);
    set(tmpH(2), 'background', fgtc, 'string', '2');
    set(tmpH(2), 'tag', 'exponent');
    set(tmpH(2), 'callback', [mfilename, '(''exponent'')']);
    % ============ max iteration
    delete(uiH(8));
    tmpH = uiarray(uiPos(8,:), 1, 2, 0, 0, str2mat('text', 'edit'));
    set(tmpH(1), 'string','Iterat.:', 'back', bgc, 'fore', fgtc);
    set(tmpH(2), 'background', fgtc, 'string', '100');
    set(tmpH(2), 'tag', 'max_iter');
    % ============ epsilson
    delete(uiH(9));
    tmpH = uiarray(uiPos(9,:), 1, 2, 0, 0, str2mat('text', 'edit'));
    set(tmpH(1), 'string','Improv.:', 'back', bgc, 'fore', fgtc);
    set(tmpH(2), 'background', fgtc, 'string', '1e-5');
    set(tmpH(2), 'tag', 'min_impro');
    % ============ info
    set(uiH(10), 'string','Help');
    set(uiH(10), 'tag', 'info');
    set(uiH(10), 'callback', [mfilename, '(''info'')']);
    % ============ close
    set(uiH(11), 'string','Close');
    set(uiH(11), 'tag', 'close');
    set(uiH(11), 'callback', [mfilename, '(''close'')']);
    % setting initial values for GUI. 
    % ============ initial settings for data set
    OldDataID = 2;
    set(findobj(FcmFigH, 'tag', 'data_set'), 'value', OldDataID);
    % ============ initial settings for cluster number 
    set(findobj(FcmFigH, 'tag', 'cluster_number'), 'value', 2);
    % ============ initial settings for labeling data 
    label_data = 0;
    set(findobj(FcmFigH, 'tag', 'label_data'), 'value', label_data);
    % ============ initial settings for exponent 
    exponent = 2.0;
    set(findobj(FcmFigH, 'tag', 'exponent'), 'string', num2str(exponent));
    % ============ initial settings for max_iter 
    max_iter = 100;
    set(findobj(FcmFigH, 'tag', 'max_iter'), 'string', num2str(max_iter));
    % ============ initial settings for min_impro 
    min_impro = 1e-5;
    set(findobj(FcmFigH, 'tag', 'min_impro'), 'string', num2str(min_impro));
    % ============ GUI initial operations
    eval([mfilename, '(''get_data'')']);
    eval([mfilename, '(''init_U'')']);
    eval([mfilename, '(''label_data0'')']);
    eval([mfilename, '(''display_data'')']);
    eval([mfilename, '(''set_mouse_action'')']);
    % ============ set user data
    set(FcmFigH, 'userdata', uiH);
elseif strcmp(action, 'start_stop'),
    if ~isempty(findobj(FcmFigH, 'string', 'Start')), 
        eval([mfilename, '(''start_clustering'')']);
    else    % stop clustering
        set(findobj(FcmFigH, 'tag', 'start'), 'string', 'Start');
    end
elseif strcmp(action, 'start_clustering'),
    % === set some buttons to be uninterruptible
    % The following does not work
    %set(findobj(FcmFigH, 'tag', 'data_set'), 'interrupt', 'no');
    %set(findobj(FcmFigH, 'tag', 'cluster_number'), 'interrupt', 'no');
    %set(findobj(FcmFigH, 'tag', 'clear_traj'), 'interrupt', 'no');
    %set(findobj(FcmFigH, 'tag', 'mf_plot'), 'interrupt', 'no');
    %set(findobj(FcmFigH, 'tag', 'exponent'), 'interrupt', 'no');
    %set(findobj(FcmFigH, 'tag', 'max_iter'), 'interrupt', 'no');
    %set(findobj(FcmFigH, 'tag', 'min_impro'), 'interrupt', 'no');
    set(findobj(FcmFigH, 'tag', 'data_set'), 'enable', 'off');
    set(findobj(FcmFigH, 'tag', 'cluster_number'), 'enable', 'off');
    set(findobj(FcmFigH, 'tag', 'clear_traj'), 'enable', 'off');
    set(findobj(FcmFigH, 'tag', 'mf_plot'), 'enable', 'off');
    set(findobj(FcmFigH, 'tag', 'exponent'), 'enable', 'off');
    set(findobj(FcmFigH, 'tag', 'max_iter'), 'enable', 'off');
    set(findobj(FcmFigH, 'tag', 'min_impro'), 'enable', 'off');
    set(findobj(FcmFigH, 'string', 'Expo.:'), 'enable', 'off');
    set(findobj(FcmFigH, 'string', 'Iterat.:'), 'enable', 'off');
    set(findobj(FcmFigH, 'string', 'Improv.:'), 'enable', 'off');
    % === change label of start
    set(findobj(FcmFigH, 'tag', 'start'), 'string', 'Stop');
    % === delete selectH
    delete(findobj(FcmFigH, 'tag', 'selectH'));
    set(findobj(FcmFigH, 'tag', 'mf_plot'), 'userdata', []);
    % === find some clustering parameters
    expo = str2double(get(findobj(FcmFigH, 'tag', 'exponent'), 'string'));
    cluster_n = get(findobj(FcmFigH, 'tag', 'cluster_number'), 'value')+1;
    max_iter = str2double(get(findobj( ...
        FcmFigH, 'tag', 'max_iter'), 'string'));
    min_eps = str2double(get(findobj( ...
        FcmFigH, 'tag', 'min_impro'), 'string'));
    dataplotH = get(findobj(FcmFigH, 'tag', 'data_set'), 'userdata');
    data = get(dataplotH, 'userdata');
    data_n = size(data, 1);
    % === initial partition
    FcmU = initfcm(cluster_n, data_n);
    % === find initial centers
    [FcmU, FcmCenter] = stepfcm(data, FcmU, cluster_n, expo);
    center_prev = FcmCenter;
    U_prev = FcmU;
    % === Graphic handles for traj and head 
    headH = line(ones(2,1)*FcmCenter(:,1)', ones(2,1)*FcmCenter(:,2)',...
        'erase', 'none', 'LineStyle', 'none', 'Marker', '.', ...
        'markersize', 30, 'tag', 'headH');
    trajH = line(zeros(2,cluster_n), zeros(2,cluster_n), ...
        'erase', 'none', 'linewidth', 3, ...
        'tag', 'trajH');
    % === array for objective function 
    err = zeros(max_iter, 1);
    for i = 1:max_iter,
        [FcmU, FcmCenter, err(i)] = stepfcm( ...
            data, U_prev, cluster_n, expo);
        fprintf('Iteration count = %d, obj. fcn = %f\n', i, err(i));
        % === label each data if necessary
        eval([mfilename, '(''label_data'')']);
        % === check ternimation invoked from GUI
        if findobj(FcmFigH, 'string', 'Start')
            break;
        end
        tempusdt=get(findobj(FcmFigH, 'string', 'Close'), 'userdata');
        if ~isempty(tempusdt)&(tempusdt == 1),
            break;
        end
        % === check normal termination condition
        if i > 1,
            if abs(err(i) - err(i-1)) < min_eps, break; end,
        end
%       if max(max(U_prev - FcmU)) < min_eps, break; end,
        % === refresh centers for animation
        for j = 1:cluster_n,
            set(headH(j), 'xdata', FcmCenter(j, 1), 'ydata', FcmCenter(j, 2));
            set(trajH(j), 'xdata', [center_prev(j, 1) FcmCenter(j, 1)], ...
            'ydata', [center_prev(j, 2) FcmCenter(j, 2)]);
        end
        drawnow;
        center_prev = FcmCenter;
        U_prev = FcmU;
    end
    % === change the button label
    tempusdt=get(findobj(FcmFigH, 'string', 'Close'), 'userdata');
    if  ~isempty(tempusdt)&tempusdt== 1,
        delete(FcmFigH);
    else
        % change to 'Start'
        set(findobj(FcmFigH, 'tag', 'start'), 'string', 'Start');
        % make everything interruptible
                %set(findobj(FcmFigH,'Interrupt','no'),'Interrupt','yes');
                set(findobj(FcmFigH,'enable','off'),'enable','on');
    end
elseif strcmp(action, 'label_data0'),   % initialize labelH
    cluster_n = get(findobj(FcmFigH, 'tag', 'cluster_number'), 'value')+1;
    dataplotH = get(findobj(FcmFigH, 'tag', 'data_set'), 'userdata');
    data = get(dataplotH, 'userdata');
    data_n = size(data, 1);
    label_data = get(findobj(FcmFigH, 'tag', 'label_data'), 'value');
    maxU = max(FcmU);
    x=[];
    y=[];
    for i = 1:cluster_n,
        index = find(FcmU(i, :) == maxU);
        cluster = data(index', :);
        if isempty(cluster), cluster = [nan nan]; end
        x = fstrvcat(x, cluster(:, 1)');
        y = fstrvcat(y, cluster(:, 2)');
    end
    x(find(x==0)) = nan*find(x==0); % get rid of padded zeros
    y(find(y==0)) = nan*find(y==0); % get rid of padded zeros
    labelH = line(x', y', 'LineStyle', 'none', 'Marker', 'o', 'visible', 'off');
    set(labelH, 'erase', 'xor');
    set(findobj(FcmFigH, 'tag', 'label_data'), 'userdata', labelH), 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机午夜精品| 色素色在线综合| 91精品国产综合久久久久久| 午夜精品久久久久久久久久 | 日韩成人一级片| 91精品国产91久久久久久一区二区| 首页欧美精品中文字幕| 51久久夜色精品国产麻豆| 日韩精品亚洲一区二区三区免费| 欧美一区二区三区公司| 韩国在线一区二区| 亚洲人精品一区| 在线成人av网站| 精品一区二区三区在线观看国产| 久久蜜臀精品av| 91丨九色丨黑人外教| 亚洲国产精品久久人人爱蜜臀| 欧美一区二区三区啪啪| 国产精品一区二区三区乱码| 国产精品久久久久毛片软件| 在线观看日韩毛片| 精品在线免费视频| 亚洲欧洲成人av每日更新| 欧美日韩成人高清| 国产成人免费在线观看不卡| 亚洲精品综合在线| 日韩欧美国产三级| av电影在线观看完整版一区二区| 亚洲成人中文在线| 国产午夜亚洲精品午夜鲁丝片| 色综合久久久久久久| 久久国产尿小便嘘嘘尿| 一区二区三区四区在线播放| 日韩一级成人av| 一本久道中文字幕精品亚洲嫩| 精品在线播放免费| 亚洲一区二区三区自拍| 久久久精品欧美丰满| 欧美日韩精品欧美日韩精品一 | 亚洲v日本v欧美v久久精品| 久久伊人蜜桃av一区二区| 色美美综合视频| 国产激情视频一区二区三区欧美| 亚洲午夜电影在线| 国产精品久久久久一区二区三区 | 久久精品国产精品青草| 亚洲日本在线观看| 欧美国产欧美综合| 欧美一卡二卡三卡| 成a人片国产精品| 激情成人午夜视频| 日韩黄色在线观看| 亚洲中国最大av网站| 国产精品久久久久四虎| 国产视频视频一区| 日韩欧美aaaaaa| 欧美精品欧美精品系列| 在线观看免费亚洲| 99久久久久久| 成人免费视频一区| 国产成人自拍高清视频在线免费播放| 日本在线不卡视频一二三区| 一个色在线综合| 亚洲欧美一区二区久久| 国产精品国产三级国产有无不卡| 26uuu国产一区二区三区| 制服丝袜日韩国产| 欧美日本在线播放| 欧美日韩一本到| 欧美日韩精品系列| 欧美精品日韩一本| 91精品国产综合久久精品图片 | 日韩欧美国产小视频| 日韩欧美三级在线| 日韩视频中午一区| 日韩免费观看2025年上映的电影| 欧美精品成人一区二区三区四区| 欧美日韩夫妻久久| 制服.丝袜.亚洲.另类.中文| 7777精品久久久大香线蕉| 欧美日韩另类一区| 欧美一级精品在线| 精品久久人人做人人爱| 久久综合五月天婷婷伊人| 久久综合久久久久88| 久久久久久日产精品| 欧美国产精品久久| 亚洲精品国产视频| 亚洲国产精品久久久久秋霞影院| 一区二区三区四区乱视频| 一区二区激情视频| 亚洲成av人**亚洲成av**| 蜜臀av在线播放一区二区三区| 久久99久久精品欧美| 国产精品白丝av| 99久久久国产精品| 欧美亚洲高清一区| 7777精品伊人久久久大香线蕉| 精品盗摄一区二区三区| 中文字幕国产一区二区| 亚洲日本电影在线| 三级亚洲高清视频| 国产大陆精品国产| 在线一区二区三区四区五区 | 欧美日韩一区二区欧美激情| 欧美巨大另类极品videosbest| 精品av综合导航| √…a在线天堂一区| 日韩和欧美的一区| 风间由美中文字幕在线看视频国产欧美| 成人动漫一区二区三区| 欧美体内she精视频| 久久亚洲综合色一区二区三区| 国产精品大尺度| 日韩精品乱码免费| 成人免费va视频| 6080午夜不卡| 国产精品国产三级国产专播品爱网 | 国产精品日韩精品欧美在线| 一区二区三区在线播| 精品制服美女久久| 日本精品免费观看高清观看| 日韩欧美一二三四区| 亚洲精品v日韩精品| 激情综合五月婷婷| 欧美性色aⅴ视频一区日韩精品| 久久综合色一综合色88| 亚洲一区二区三区小说| 国产在线一区二区| 欧美性大战久久久久久久蜜臀| 亚洲精品一区在线观看| 亚洲国产欧美一区二区三区丁香婷| 黑人巨大精品欧美黑白配亚洲| 欧美午夜精品久久久| 国产欧美日韩卡一| 久久精品国产999大香线蕉| 91黄色免费观看| 国产精品美女久久久久久久| 美女www一区二区| 欧美日韩国产综合视频在线观看| 中文字幕精品在线不卡| 精品写真视频在线观看| 91精品欧美一区二区三区综合在| 亚洲欧美偷拍三级| k8久久久一区二区三区 | 91精品久久久久久蜜臀| 伊人婷婷欧美激情| www.亚洲国产| 国产精品视频观看| 国产一区二区不卡| 日韩精品一区二区三区在线播放| 亚洲mv在线观看| 欧美日韩综合不卡| 亚洲国产精品天堂| 欧美亚洲国产怡红院影院| 亚洲精品五月天| 2023国产精品| 精品亚洲aⅴ乱码一区二区三区| 欧美一区二区精品| 日本欧美一区二区三区| 91精品国产一区二区| 视频一区中文字幕| 欧美精选一区二区| 青娱乐精品在线视频| 337p亚洲精品色噜噜| 日本在线不卡视频| 欧美一区二区福利在线| 日韩高清中文字幕一区| 欧美一级二级三级蜜桃| 日本成人超碰在线观看| 欧美xxxxxxxxx| 九色综合国产一区二区三区| 欧美tickling网站挠脚心| 久久国内精品视频| 国产午夜精品久久久久久免费视| 国产精品一区二区在线观看网站| 久久免费看少妇高潮| 大陆成人av片| 最新不卡av在线| 在线观看国产一区二区| 秋霞国产午夜精品免费视频| 日韩精品一区二区三区在线观看| 国产精品原创巨作av| 欧美经典一区二区| 色综合久久久久久久久久久| 亚洲一二三四久久| 欧美一级片在线| 国产成人亚洲综合a∨婷婷| 亚洲色图一区二区三区| 欧美精品黑人性xxxx| 久久er精品视频| 中文一区在线播放| 欧美色倩网站大全免费| 久久国产综合精品| 国产精品成人在线观看| 欧美人妖巨大在线| 韩国av一区二区三区四区| √…a在线天堂一区| 91精品国产91热久久久做人人 | 丁香六月久久综合狠狠色|