灰色关联度matlab源程序(完整版)文档格式.doc

上传人:wj 文档编号:8456737 上传时间:2023-05-11 格式:DOC 页数:25 大小:429KB
下载 相关 举报
灰色关联度matlab源程序(完整版)文档格式.doc_第1页
第1页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第2页
第2页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第3页
第3页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第4页
第4页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第5页
第5页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第6页
第6页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第7页
第7页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第8页
第8页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第9页
第9页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第10页
第10页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第11页
第11页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第12页
第12页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第13页
第13页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第14页
第14页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第15页
第15页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第16页
第16页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第17页
第17页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第18页
第18页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第19页
第19页 / 共25页
灰色关联度matlab源程序(完整版)文档格式.doc_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

灰色关联度matlab源程序(完整版)文档格式.doc

《灰色关联度matlab源程序(完整版)文档格式.doc》由会员分享,可在线阅读,更多相关《灰色关联度matlab源程序(完整版)文档格式.doc(25页珍藏版)》请在冰点文库上搜索。

灰色关联度matlab源程序(完整版)文档格式.doc

[rows,cols]=size(fangzhen);

p=0.5;

 

%分辨系数

[m,n]=size(yangben);

R=[];

forirow=1:

rows

yy=fangzhen(irow,:

);

data=[yy;

yangben];

data_gyh1=mean(yangben)

fori=1:

m+1

forj=1:

n

data_gyh(i,j)=data(i,j)/data_gyh1(j);

end

fori=2:

Dij(i-1,j)=abs(data_gyh(1,j)-data_gyh(i,j));

Dijmax=max(max(Dij));

Dijmin=min(min(Dij));

m

Lij(i,j)=(Dijmin+p*Dijmax)/(Dij(i,j)+p*Dijmax);

LijRowSum=sum(Lij'

Rij(i)=LijRowSum(i)/n;

R=[R;

Rij];

end

R

matlab求灰色关联度矩阵源代码

2010-12-1122:

57

functiongreyrelationaldegree(X,c)

%GRAYRELATIONALDEGREEthisfunctionisusedforcalculatingthegery

%relationbetweensquence

%rememeberthatthefirstcolumnoftheinputmatrixisthedesicion

%attributionsquences.whatwewanttocalculateisthegreyralationaldegreebetween

%itandotherattributions

%Xisthesquencematrix,cistheparameterusedinthefunction

%inmostofthetime,thevalueofcis0.5

firstrow=X(1,:

reci_firstrow=1./firstrow;

reci_convert=diag(reci_firstrow);

initialMIRROR=X*reci_convert;

%findtheinitialvaluemirrorofthesequcematrix

A=initialMIRROR'

[nrow,ncolumn]=size(A);

for(i=2:

nrow)

C=A(i,:

)-A(1,:

D=abs(C);

eval(['

B'

num2str(i)'

=D'

]);

amax=max(eval(['

num2str(i)]))

amin=min(eval(['

maxarray(i-1)=amax

minarray(i-1)=amin

end%findthedifferencesquenceandthemaxvalueandminvalueofeachsquence

maxmax=max(maxarray)

minmin=min(minarray)

for(i=2:

for(j=1:

ncolumn)

greyrelationdegree'

(j)=(minmin+c*maxmax)/(B'

(j)+c*maxmax)'

])

end%calculatethegreyralationaldegreeofeachdata

greyrelatioanaldegree_value'

=mean(greyrelationdegree'

)'

]) 

基于matlab灰色关联度计算的实现

2006年07月28日星期五上午11:

06

functionr=incident_degree(x0,x1)

%computetheincidentdegreeforgreymodel.

%DesignedbyNIXIUHUI,DalianFisherUniversity.

%17August,2004,LastmodifiedbyNXHat21August,2004 

%数据初值化处理

x0_initial=x0./x0

(1);

temp=size(x1);

b=repmat(x1(:

1),[1temp

(2)]);

x1_initial=x1./b;

%分辨系数选择

K=0.1;

disp('

Thegreyinterconnectdegreeis:

'

x0_ext=repmat(x0_initial,[temp

(1)1]);

contrast_mat=abs(x0_ext-x1_initial);

delta_min=min(min(contrast_mat));

%delta_min在数据初值化后实际为零

delta_max=max(max(contrast_mat));

a=delta_min+K*delta_max;

incidence_coefficient=a./(contrast_mat+K*delta_max);

%得到关联系数

r=(sum(incidence_coefficient'

))'

/temp

(2);

 

%得到邓氏面积关联度

我们根据图1的步骤和图2的数据进行编程实现,程序如下:

%清除内存空间等

closeall;

%载入源数据 

%其实这里可以载入execl表格的

n=15;

%参与评价的人数

m=4;

%参与评价的指标个数

X_0=zeros(n,m);

数据矩阵

X_2=zeros(n,m);

%偏差结果的求取矩阵

X_3=zeros(n,m);

相关系数计算矩阵

a1_0=[131817181717181713171813181318];

a2_0=[181817171813171318131713131717];

a3_0=[48.6743.3343.5641.8939.4743.4437.9741.1439.6739.8334.1140.5834.1930.7521.22];

a4_0=[1010.735.45.40.74.20.59.30.852.95.454.22.76];

%指标数

X_1=[a1_0'

a2_0'

a3_0'

a4_0'

%最后使用到的数据矩阵

%1寻找参考列

x0=[max(a1_0),max(a2_0),max(a3_0),max(a4_0)];

%取每列的最大值(指标的最大值)

%2计算偏差结果

i=1;

while(i~=m+1) 

%为什么这个地方会出问题呢

1:

X_2(j,i)=abs(X_1(j,i)-x0(i));

end;

i=i+1;

%3确定偏差的最值

error_min=min(min(X_2));

error_max=max(max(X_2));

%4计算相关系数

while(i~=m+1)

X_3(j,i)=(error_min+p*error_max)/(X_2(j,i)+p*error_max);

%X_3 

%可以在此观察关联矩阵

%5计算各个学生的关连序

a=zeros(1,n);

forj=1:

a(j)=a(j)+X_3(j,i);

%%%%其实可以直接用sum

a(j)=a(j)/m;

%%%%%%%%%可以改进%%%%%%%%%%

123下一页

%

%a 

%在此可以观测各个学生的序

%改进:

如果各个指标的所占权重不一样的话,可以添加相应的权系数

%6排序

b=a'

;

[c,s]=sort(b);

fori=1:

d(i)=i;

d=d'

result=[dbcs]

%7将结果显示出来

figure

(1);

plot(a);

figure

(2)

bar(a);

%柱状图

最后所得到的结果如图3到图5所示。

图3程序运行结果

图4曲线图

图5柱状图

根据以上三图我们就可以判断出每个学生序列与参考序列(最大值)之间的关系,与最大值的关系越密切,那么其关联度越大。

根据以上的启示,我用matlab灰度关联分析的想法是:

1、参考序列我可以选择已知属于某一类神经元的统计数据,我选择平均值。

2、加入一个未知类的数据,与已有类中的数据一起计算他们与平均值的关联度。

3、计算出来的关联度我们可以有多种处理思路,如果未知类的关联度不是排在最末,可以认为它属于这一类,或者未知类的关联度大于计算出来的关联度平均值,我们可以认为它属于这一类。

使用关联度进行分类,计算出来的关联度如何使用还是个问题,这个东西是我琢磨出来的,我还没有见到过相关的文献,估计应该可以用,期望以后的专家学者钻研了。

参考文献:

[1]郝海燕,王斌.大学生综合素质测评的灰色关联分析法[J].承德石油高等专科学校学报,2009,11

(2):

57-59.

上一页123

请教一下用MATLAB实现灰色关联分析的程序

初始矩阵为x=[1.141.491.692.122.434.325.926.077.85;

3.303.473.613.804.004.194.424.614.80;

6.006.006.007.507.507.509.009.009.00;

1.201.201.801.801.802.402.703.604.00;

4.875.896.767.978.8410.0511.3112.2511.64]

我写的程序如下:

x1=[1.141.491.692.122.434.325.926.077.85;

4.875.896.767.978.8410.0511.3112.2511.64]%原始数据5行9列

x1=x

5

forj=1:

9

x(i,j)=x(i,j)/x1(1,j)

x(i,j)=abs(x(i,j)-x1(i,1))

max=x(1,1)

min=x(1,1)

ifx(i,j)>

=max

max=x(i,j)

end

ifx(i,j)<

=min

min=x(i,j)

k=0.5%分辨系数取值

l=(min+k*max)./(x+k*max)%求关联系数矩阵

但是运算错误!

!

请教一下高手

问题补充:

楼下回答的不对,那样虽不会运行错误,但得不到正确的答案

怎么没人再给我回答啊555555555

其他回答共1条

4.00;

4.875.896.767.978.8410.0511.3112.2511.64]%原始数据5行9列

x1=x%有错,应该为x=x1

5

灰色关联matlab程序

浏览次数:

170次悬赏分:

5|提问时间:

2011-5-2519:

40|提问者:

zjon111

1240915296187432239926451

216314265810314045340903397983

1.54.85.9-0.73.3

11841204111311021168

1175913786157811717519109

3876051322613306851883080

109998137324172828224599278140

7914593572114830132678156998

161587172534217885260772303302

%分辨系数

yy=fangzhen(irow,:

data=[yy;

data_gyh1=mean(yangben)

fori=1:

forj=1:

data_gyh(i,j)=data(i,j)/data_gyh1(j);

end

end

fori=2:

Dij(i-1,j)=abs(data_gyh(1,j)-data_gyh(i,j));

Dijmax=max(max(Dij));

Dijmin=min(min(Dij));

Lij(i,j)=(Dijmin+p*Dijmax)/(Dij(i,j)+p*Dijmax);

LijRowSum=sum(Lij'

Rij(i)=LijRowSum(i)/n;

R=[R;

哪里出错了,求高手解答,顺便求结果分析

推荐答案

data_gyh1=mean(yangben)得到的是一个数,

而data_gyh(i,j)=data(i,j)/data_gyh1(j)中data_gyh1(j)你把data_gyh1作为一个数组使用的,所以会出错。

追问

怎么改合适呢

回答

其实我不懂灰色关联是什么,所以可能在这个上边帮不了什么忙,你看看灰色关联的原理吧,

data_gyh1=mean(yangben)这一句得到的data_gyh1就是一个定值,

而data_gyh(i,j)=data(i,j)/data_gyh1(j)中需要用到的是什么值呢,你从这方面下手考虑吧。

刚搜了一下,看到了跟你这个类似的源程序。

他的样本数据是3*6的,所以

data_gyh1=mean(yangben)得到是yangben的每一列的均值,而你的yangben是一行的,所以应该直接让data_gyh1=yangben。

个人意见,仅供参考。

参考资料:

基于matlab的灰度关联分析法

(2010-09-2310:

12:

42)

标签:

matlab

灰度关联

分类

分类:

matlab相关

做了四天的研究生数学建模,感觉做的很一般,应该是没有很好的深入理解题意,而且对于神经元的背景信息不是很清楚,导致了后面的东西没有时间处理,最后一天的熬夜,终于把论文给赶了出来,第二天从早上十点一觉睡到晚上六点半。

关于建模神经元这题主要是分类和聚类问题,前者是类别已知,然后判断测试样本是否为某一类。

后者是无监督学习,即么有类别信息和其他先验知识,一般要求满足最大组内相似性和最小组间相似性。

我想到了上学期给同学做的一个使用灰度关联分析法进行大学生综合素质评价的东西,下面主要讲一下那个东西是怎么实现的。

多指标综合测评主要有三大类方法:

常规数学方法、模糊数学方法、多元统计分析方法。

灰色关联分析是灰色系统理论中的一个分支,其对数据的要求不是很严格,不要求数据分布具有特殊规律。

下面我按照参考文献1中的内容把综合素质评价的程序给实现。

下面是灰度关联法进行综合评价的步骤:

图1灰度关联分析法进行综合测评的步骤

图2所使用的综合评价表

我们根据图1的步骤和图2的数据进行编程实现,程序如下:

a4_0=[1010.735.45.4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2