谁有FCM算法的源程序,谢谢!

 我来答
qsavv09
2011-02-16 · TA获得超过176个赞
知道答主
回答量:119
采纳率:0%
帮助的人:0
展开全部
我贴部分FCM的Matlab代码:
expo = options(1); % Exponent for U
max_iter = options(2); % Max. iteration
min_impro = options(3); % Min. improvement
display = options(4); % Display info or not

obj_fcn = zeros(max_iter, 1); % Array for objective function

U = initfcm(cluster_n, data_n); % Initial fuzzy partition
% Main loop
for i = 1:max_iter,
[U, center, obj_fcn(i)] = stepfcm(data, U, cluster_n, expo);
if display,
fprintf('Iteration count = %d, obj. fcn = %f\n', i, obj_fcn(i));
end
% check termination condition
if i > 1,
if abs(obj_fcn(i) - obj_fcn(i-1)) < min_impro, break; end,
end
end

其中
U = initfcm(cluster_n, data_n); % Initial fuzzy partition

这个就是初始化划分矩阵,随机产生一个隶属度矩阵,

代码如下:
U = rand(cluster_n, data_n);
col_sum = sum(U);
U = U./col_sum(ones(cluster_n, 1), :);

上面就是它初始化的一个隶属度矩阵,
cluster_n行,data_n列。
即一列中从上到下表示每个样本隶属与每一类的隶属度。
然后在算法中不断迭代,
最后得到的还是如此大的一个矩阵,代表每个样本隶属与每一类的隶属度
然后选择最大的那个就是,它就属于那一类。
康科达
2023-08-22 广告
北京康科达科技有限公司是一家专业从事放射治疗配套设备及耗材生产、经营的科技企业。客户面向全国的疾控中心和放疗科医院。主营电离室、放疗剂量仪、放疗自动扫描水箱、调强验证系统、放疗质控设备、激光定位系统、放疗定位产品、放疗定位膜、放疗模室产品、... 点击进入详情页
本回答由康科达提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式