matlab数据的分类
答案:2 悬赏:20 手机版
解决时间 2021-02-19 04:07
- 提问者网友:泪痣哥哥
- 2021-02-18 22:30
值在100-200区间分类 在200-300区间分类 在300-400区间分类 如果能给分出的类用不同颜色表示出来最好啦。谢谢大神
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-02-18 23:06
用matlab中的聚类分析函数。
全部回答
- 1楼网友:三千妖杀
- 2021-02-18 23:18
function [k] = dealtype(a)
% k 设为 n 行 2 列的二维数组
% n 对应 a 的第 3 维
% k 的第 1 列存分类序号
% k 的第 2 列存分类特征值
k = [];
[m,n,p] = size(a);
if p == 1, return; end
tyid = 1; % 分类序号
for n = 1:p
a = a(:,:,n);
a = my_f(a);
v = similarity(k,a);
if v = -1
k(n,1) = tyid;
k(n,2) = a;
tyid = tyid+1;
else
k(n,:) = k(v,:);
end
end
function a = my_f(a) % 取得特征值
a = '...';
function [v] = similarity(k,a) % 相似度比较
% 如果同已有特征值相似返回在 k 中的索引
% 如果是独特特征值返回-1
v = -1;
[m,n] = size(k);
if isempty(k), return; end
id = 1;
while v == -1 & id <= m
ak = k(k,2);
xs = abs(a-ak)/(a+ak) < 0.2; % 相似度自己确定
if xs, v = id; end
id = id+1;
end
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯