MATLAB坐标聚类分析析纵横坐标代表什么

matlab 怎么设置横纵坐标代表什么_百度知道
matlab 怎么设置横纵坐标代表什么
我有更好的答案
title 图的标题
xlabel x坐标
ylabel y坐标
surf(a,b,c); axis ([2 3 2 3 1 4]) 加上后面那个坐标轴范围即可;
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Matlab聚类分析(Cluster&Analyses)
Matlab提供系列函数用于聚类分析,归纳起来具体方法有如下:
方法一:直接聚类,利用clusterdata函数对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法,该方法的使用者无需了解聚类的原理和过程,但是聚类效果受限制。
方法二:层次聚类,该方法较为灵活,需要进行细节了解聚类原理,具体需要进行如下过程处理:(1)找到数据集合中变量两两之间的相似性和非相似性,用pdist函数计算变量之间的距离;(2)用
linkage函数定义变量之间的连接;(3)用 cophenetic函数评价聚类信息;(4)用cluster函数创建聚类。
方法三:划分聚类,包括K均值聚类和K中心聚类,同样需要系列步骤完成该过程,要求使用者对聚类原理和过程有较清晰的认识。
接下来介绍一下Matlab中的相关函数和相关聚类方法。
1.Matlab中相关函数介绍
1.1&pdist函数
调用格式:Y=pdist(X,’metric’)
& & 说明:用 ‘metric’指定的方法计算 X
数据矩阵中对象之间的距离。
X:一个m&n的矩阵,它是由m个对象组成的数据集,每个对象的大小为n。
metric’取值如下:
‘euclidean’:欧氏距离(默认);‘seuclidean’:标准化欧氏距离;
‘mahalanobis’:马氏距离;‘cityblock’:布洛克距离;
‘minkowski’:明可夫斯基距离;‘cosine’:
‘correlation’:
‘jaccard’: ‘chebychev’:Chebychev距离。
1.2 squareform 函数
调用格式:Z=squareform(Y,..)
1.3 linkage函数
调用格式:Z=linkage(Y,‘method’)
& & 输入值说明:Y为pdist函数返回的M*(M-1)/2个元素的行向量,用‘method’参数指定的算法计算系统聚类树。
method:可取值如下:
‘single’:最短距离法(默认);
‘complete’:最长距离法;
‘average’:未加权平均距离法;&
‘weighted’: 加权平均法;
‘centroid’:质心距离法;
‘median’:加权质心距离法;
‘ward’:内平方距离法(最小方差算法)
&&返回值说明:Z为一个包含聚类树信息的(m-1)&3的矩阵,其中前两列为索引标识,表示哪两个序号的样本可以聚为同一类,第三列为这两个样本之间的距离。另外,除了M个样本以外,对于每次新产生的类,依次用M+1、M+2、…来标识。
为了表示Z矩阵,我们可以用更直观的聚类数来展示,方法为:dendrogram(Z),
产生的聚类数是一个n型树,最下边表示样本,然后一级一级往上聚类,最终成为最顶端的一类。纵轴高度代表距离列。
另外,还可以设置聚类数最下端的样本数,默认为30,可以根据修改dendrogram(Z,n)参数n来实现,1&n&M。dendrogram(Z,0)则表n=M的情况,显示所有叶节点。
1.4 dendrogram函数
调用格式:[H,T,…]=dendrogram(Z,p,…)
说明:生成只有顶部p个节点的冰柱图(谱系图)。
1.5&cophenetic 函数
调用格式:c=cophenet(Z,Y)
说明:利用pdist函数生成的Y和linkage函数生成的Z计算cophenet相关系数。
cophene检验一定算法下产生的二叉聚类树和实际情况的相符程度,就是检测二叉聚类树中各元素间的距离和pdist计算产生的实际的距离之间有多大的相关性,另外也可以用inconsistent表示量化某个层次的聚类上的节点间的差异性。
1.6 cluster 函数
调用格式:T=cluster(Z,…)
& & 说明:根据linkage函数的输出Z
创建分类。
1.7&clusterdata 函数
调用格式:T=clusterdata(X,…)
& & 说明:根据数据创建分类。
T=clusterdata(X,cutoff)与下面的一组命令等价:
Y=pdist(X,’euclid’);
Z=linkage(Y,’single’);
T=cluster(Z,cutoff);
2. Matlab聚类程序的设计
2.1 方法一:一次聚类法
X=[ 93.5 31908;…; 238.0 15900];
T=clusterdata(X,0.9)
2.2 方法二和方法三设计流程:分步聚类
用pdist函数计算相似矩阵,有多种方法可以计算距离,进行计算之前最好先将数据用zscore函数进行标准化。
X2=zscore(X);
Y2=pdist(X2); %计算距离
Z2=linkage(Y2);
C2=cophenet(Z2,Y2); //0.94698
Step4 创建聚类,并作出谱系图
T=cluster(Z2,6);
& & MATLAB中提供了cophenet,
inconsistent等表示相关性的函数。cophenet和inconsistent用来计算某些系数,前者用于检验一定算法下产生的二叉聚类树和实际情况的相符程度(就是检测二叉聚类树中各元素间的距离和pdist计算产生的实际的距离之间有多大的相关性),inconsistent则是量化某个层次的聚类上的节点间的差异性(可用于作为cluster的剪裁标准)。
& & 有关表示相关性的函数概念的理解,需要对聚类有一个更深刻更数学的认识,我后面有机会的话会对这方面进行深入的学习与研究。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。关于用matlab做聚类分析的问题。【数学建模吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:109,851贴子:
关于用matlab做聚类分析的问题。收藏
因为校内的比赛已经开始了,作为编程小白的我需要在两天内搞定程序。题目我们已经讨论出来要用聚类分析了,但是查询了很多资料还是不知道改怎么用matlab做聚类分析。我们的题目,大概意思就是,有n个样品,每个样品有m个属性,根据这m个属性,把这n个样品归为l类。希望编程大神们教教我怎么用matlab做出这个东西。什么欧氏距离,马氏距离····到底该用什么距离啊!!!完全懵逼,快救救我啊······
求大神快来救救我
spss就是了
登录百度帐号用matlab做聚类分析_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
用matlab做聚类分析
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢matlab&更改横坐标坐标值的方向
function th=rotateticklabel(h,rot,demo)
%ROTATETICKLABEL rotates tick labels
% & TH=ROTATETICKLABEL(H,ROT) ris the calling
form where H is a handle to
% & the axis that contains the XTickLabels
that are to be rotated. ROT is
% & an optional parameter that specifies the
angle of rotation. The default
% & angle is 90. TH is a handle to the text
objects created. For long
% & strings such as those produced by
datetick, you may have to adjust the
% & position of the axes so the labels don't
get cut off.
% & Of course, GCA can be substituted for H
if desired.
% & TH=ROTATETICKLABEL([],[],'demo') shows a
demo figure.
% & Known deficiencies: if tick labels are
raised to a power, the power
% & will be lost after rotation.
% & See also datetick.
% & Written Oct 14, 2005 by Andy Bliss
% & Copyright 2005 by Andy Bliss
�MO:
if nargin==3
& & x=[now-.7 now-.3
& & y=[20 35 15];
& & figure
& & plot(x,y,'.-')
datetick('x',0,'keepticks')
& & set(h,'position',[0.13
0.35 0.775 0.55])
& & rot=90;
%set the default rotation if user doesn't specify
if nargin==1
& & rot=90;
%make sure the rotation is in the range 0:360 (brute force
% while rot&360
% & & rot=rot-360;
% while rot&0
% & & rot=rot+360;
%get current tick labels
a=get(h,'XTickLabel');
%erase current tick labels from figure
set(h,'XTickLabel',[]);
%get tick label positions
b=get(h,'XTick');
c=get(h,'YTick');
%make new tick labels
if rot&180
th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','right','fontsize',14,'fontweight','bold','rotation',rot);
th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','left','fontsize',14,'fontweight','bold','rotation',rot);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
使用方法:
y3=[24.2 15.3 26.51 38.53 25.98 31.94 25.31 29.85];
x1=[1 2 3 4 5 6 7 8];
bar(x1,y3,'k');
set(gca,'xticklabel',{'CON','OA','AFMK','AFMK+OA','Mel','Mel+OA','VitE','VitE+OA'});
th=rotateticklabel(h,-30);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 坐标 聚类 算法 的文章

 

随机推荐