MATLAB编程,请大神给出计算程序

MATLAB编程,请大神给出计算程序,第1张

%%%赋值

m=3

n=4 %%%%矩阵的行列下标

c=[1 2 3 4 5 6 7 89 10 11 12]

%%%% 数据规运颤范化

r=[]

for i=1:m

for j=1:n

r(i,j)=abs(c(i,j)-min(c(i,:)))/(max(c(i,:))-min(c(i,:)))

end

end

%%%%定义熵

for i=1:m

for j=1:m

k(i,j)=r(i,j)/sum(r(:,j))

end

end

for i=1:m

for j=1:n

if (k(i,j)==0)

k_lnk(i,j)=0

else

k_lnk(i,j)=k(i,j)*log(k(i,j))

end

end

end

for i=1:m

h(i)=-log(n)*sum(k_lnk(i,:))%定义熵的第i个唯悄悄指标,公式应该是错误的吧,应该是j=1,n吧

end

%%计算评价指标的变异系数

g=1-h

%%计算评价指标的熵权

w=g./sum(g)

%%% tmd gongsi 禁止拷贝,打了两遍,我够辛苦的,不指渣给分没天理了

%%%测试用矩阵较有规律,分母为0了,换一些其他的数据就较为正常了

%行是物理量,列是等级

RefTable=[

2 3 4 6

10 15 2030

0.020.1 0.2 0.3

]

%data的列数等于table的行数

data=[

3.5 20 0.5

3 12 0.01

]

[n,ranks]=size(RefTable)

[m,n]=size(data)

for i=1:m %第i个地区培差的数据处理

table(:,:,i)=zeros(n,ranks)

for j=1:n %第j个物理量

x=data(i,j) %第i个地区,j物理量的实验数据

rank=1

if (RefTable(j,2)>RefTable(j,1)) %物理量指标升序扮信排列

while (rank<=ranks &&RefTable(j,rank)<x)

rank=rank+1

end

else %物理配缺皮量指标降序排列

while (rank<=ranks &&RefTable(j,rank)>x)

rank=rank+1

end

end

if rank>ranks

table(j,ranks,i)=1

elseif rank==1

table(j,1,i)=1

else

table(j,rank-1,i)=(RefTable(j,rank)-x)/(RefTable(j,rank)-RefTable(j,rank-1))

table(j,rank ,i)=(x-RefTable(j,rank-1))/(RefTable(j,rank)-RefTable(j,rank-1))

end

end

end

table

aver=mean(RefTable')

weight=zeros(m,n) %权系数

for i=1:m %第i个地区的数据处理

totalweight=0

for j=1:n %第j个物理量

if RefTable(j,2)>RefTable(j,2) %升序

weight(i,j)=data(i,j)/aver(j )

else

weight(i,j)=aver( j)/data(i,j)

end

totalweight=totalweight+weight(i,j)

end

weight(i,:)=weight(i,:)/totalweight

end

weight

for i=1:m

for j=1:n

last(j,:,i)=table(j,:,i)*weight(i,j)

end

end

last

M=sum(A)%各方案灶斗每项指标嫌知打分总和

N=sum(M)%全部方案每项指标打分总和

m=size(A,2)%指标个数

S(j)=M(j)/N%各方案每项指标打分总和与全部方案每项指标打分总和之比

W(j)=S(j)/sum(S)各方案的权重

举例说明:

A=[40 35 30 4025 30 30 3015 15 10 155 10 5 10]

expert2(A)

结芹辩消果为

0.24638 0.26087 0.21739 0.27536


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12534391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存