数学建模社区-数学中国
标题: 用matlab进行熵值法求解熵权....怎么编程序啊???? [打印本页]
作者: ljyxn 时间: 2011-7-7 19:33
标题: 用matlab进行熵值法求解熵权....怎么编程序啊????
(1)构建m个事物n个评价指标的判R=( )nm(i=1,2,…,n;j=1,2,…,m)。
(2)将判断矩阵归一化处理,得到归一化判断矩阵B
(1)构建m个事物n个评价指标的判R=( )nm(i=1,2,…,n;j=1,2,…,m)。
(2)将判断矩阵归一化处理,得到归一化判断矩阵B
式中: 、 分别为同指标下不同事物中最满意者或最不满意者(越小越满意或越大越满意)。
(3)根据熵的定义,m个评价事物n个评价指标,可以确定评价指标的熵为:
为使 有意义,当 =0时,根据风险评价的实际意义,可以理解 为一较大的数值,与 相乘趋于0,故可认为 =0。但当 =1, 也等于0,这显然与熵所反映的信息无序化程度相悖,不切合实际,故需对 加以修正,将其定义为:
(4)计算评价指标的熵权W
,且满足
怎么用matlab程序实现上面的求解W和Hi 啊????
作者: 被爱拥抱 时间: 2011-7-8 10:19
网上看看吧
作者: 光宇准 时间: 2011-7-14 15:37
我也是来找资源的。。。。。。。
作者: 忠武穆 时间: 2011-7-30 09:26
没有看懂!!!
作者: 海豚@心 时间: 2011-7-30 19:45
有难度啊啊啊啊啊
作者: yuanjunjie 时间: 2011-8-1 10:52
作者: zhangjichang 时间: 2011-8-13 00:45
这是我做的,试试行不,不行我再改
-
-
熵权法.rar
727 Bytes, 下载次数: 42, 下载积分: 体力 -2 点
售价: 2 点体力 [记录]
matlab 熵值法
作者: vivid3w 时间: 2011-8-15 10:24
作者: jjc616 时间: 2011-8-15 16:14
zhangjichang 发表于 2011-8-13 00:45
这是我做的,试试行不,不行我再改
你中间一个函数没写,就是biaozhun函数
作者: zhangjichang 时间: 2011-8-15 21:57
jjc616 发表于 2011-8-15 16:14
你中间一个函数没写,就是biaozhun函数
哦,果然!发错文件了
-
-
熵权法.rar
835 Bytes, 下载次数: 144, 下载积分: 体力 -2 点
熵权法
作者: Kevin_Hsu 时间: 2011-8-17 09:23
bibiibikjkj
作者: wangtarry 时间: 2011-8-20 16:03
m=input('最终确定的指标个数m=')
n=input('物流备选地址的个数n=')
r=rand(n,m) % 随机产生一个评价矩阵
for i=1:m
R(:,i)=r(:,i)./sum(r(:,i));
end % 对矩阵进行归一化处理
for j=1:m
e(j)=-sum(R(:,j).*log(R(:,j)))./(log(n));
end %计算熵值
e
g=1-e % 计算偏差度
w=g./sum(g)% 计算熵权值
作者: crystal9 时间: 2011-8-21 18:05
灰常感谢啦嘿嘿
作者: Megmin 时间: 2011-8-22 22:22
楼主 怎么会是虚数啊!
各国综合得分
s =
0.0274 - 0.0019i
0.0793 + 0.0064i
0.0786 + 0.0061i
0.0436 + 0.0004i
0.0491 + 0.0014i
0.0159 - 0.0032i
-0.0031 - 0.0060i
0.0393 + 0.0003i
-0.0074 - 0.0064i
0.0223 - 0.0022i
0.0736 + 0.0063i
0.0277 - 0.0013i
0.0132 - 0.0036i
0.0743 + 0.0070i
0.0789 + 0.0075i
0.0184 - 0.0042i
0.0614 + 0.0001i
0.0081 - 0.0084i
0.0713 + 0.0014i
0.0325 - 0.0053i
0.0982 + 0.0048i
0.0973 + 0.0007i
作者: 互惠 时间: 2011-8-23 16:22
太棒了
作者: 互惠 时间: 2011-8-23 16:39
我输入一个矩阵,得出很多NaN的结果
作者: /wx 时间: 2011-8-24 12:59
作者: ouran1 时间: 2011-9-1 10:28
作者: techerw 时间: 2011-9-1 11:43
现在已经有网页显示数学公式图形的技术了呀——
楼主其实不必这样描述的。这样描述起来,看着实在太费劲了。
可以请版主参考一下“数苑网”,人家那里,数学公式可以直接显示和输入的。
作者: XZQNapoleon 时间: 2011-9-1 14:29
顶。。。。。。
作者: noboday 时间: 2011-9-11 10:23
怎么下载下来啊,我体力值也减掉了,但是不能下载,提示没有权限?
作者: sd215 时间: 2011-9-20 08:09
我也是来找资源的
作者: shuxuezaozhuang 时间: 2011-9-23 15:12
找资料修改一下!!
作者: ◇青梅煮酒◇ 时间: 2012-2-16 17:19
支持啊
作者: 寒木流水 时间: 2012-2-22 14:21
谢谢了,哈哈哈
作者: jieyu 时间: 2012-3-15 09:52
怎么可以发帖
作者: luhongjuan 时间: 2012-3-18 22:52
怎么购买了,还说没权限下载呢?到底是怎么回事?
作者: 3109008289 时间: 2012-4-7 22:06
这个行了没有?
作者: jool001 时间: 2012-5-8 17:34
没权限啊···
作者: 0xvirtual 时间: 2012-5-15 07:49
来求教
作者: 谢凌风 时间: 2012-8-12 21:44
好的,有用。
作者: X.w.j.拽. 时间: 2012-8-13 17:41
作者: 沧海浮萍 时间: 2012-9-5 16:56
不过看了大家的评论,怎么觉得代码还是有问题呢
作者: zhenc 时间: 2012-9-6 20:15
作者: 加拿大 时间: 2012-9-7 19:49
作者: hock 时间: 2012-12-8 13:26
也是来找资源的
作者: 1667156702 时间: 2013-2-5 23:15
请问有复数怎么解决?
作者: 0且行 时间: 2013-5-19 13:42
模糊决策方法:function fuzzy4
clear,clc
m=input('请输入目标数:');
n=input('请输入决策方案数:');
a=zeros(m,n);
while 1
b=input('请输入特征量矩阵:');
[s,t]=size(b);
if s==m&t==n, break, end
disp('输入错误!请核查!!')
end
r=zeros(m,n);
bmax=zeros(m,1);
bmin=zeros(m,1);
disp('请依次选择目标的类型:1-越大越优;0-越小越优:')
for k=1:m
disp('目标:'),disp(k)
o(k)=input('类型:');
if o(k)==1
bmax(k)=max(b(k,); %求特征量矩阵第一行的最大元
r(k,=b(k,/bmax(k);
else if o(k)==0
bmin(k)=min(b(k,); %求特征量矩阵第一行的最小元
r(k,=(b(k,/bmin(k)).^ (-1);
else
error('选择错误!')
end
end
end
disp('隶属度矩阵为:'),r
disp('系统的优向量为:')
g=ones(m,1)
disp('系统的次向量为:')
for k=1:m
c(k)=min(r(k,);
end
b=c(
w=input('请输入评价指标的权重向量:')
p=input('请选择距离:1-为海明距离;2-欧氏距离:')
x=zeros(1,n); %初始化
y=zeros(1,n);
for j=1:n
for i=1:m
x(j)=x(j)+(w(i)*abs(r(i,j)-g(i)))^ p;
y(j)=y(j)+(w(i)*abs(r(i,j)-b(i)))^ p;
end
z(j)=1+(x(j)/y(j)) (2/p);
v(j)=1/z(j);
end
disp(v(')
u=sort(v) %将向量v的元素按递增排序
disp('方案的优先顺序为:')
for k=n:-1:1 %将向量u的元素从大到小
for l=1:n %逐个与向量v的每个元素比较,
if u(k)==v(l) %依次找出u中每个元素在V中的位置
disp(l) %并输出,即为方案的优先顺序
end
end
end
作者: wangkai2013 时间: 2013-7-14 15:06
%层次分析法的matlab程序
作者: wangkai2013 时间: 2013-7-14 15:09
%层次分析法的matlab程序
作者: 小动车 时间: 2013-8-23 16:08
下载学习一下
作者: 打酱油三人组 时间: 2013-8-25 15:07
回复都是大神啊
作者: wjtcwt99 时间: 2013-9-12 13:07
看不懂!!!!!!!!!!!!!
作者: 刘栋VS 时间: 2013-9-12 16:34
下载来试试
作者: 西电数模爱好者 时间: 2014-2-6 15:07
熵值取权法
作者: zzx6155 时间: 2014-8-26 16:04
昨天刚学了这个东西
作者: 腐姬呀 时间: 2014-8-26 21:09
不懂,自己改下?
function shang(x)
[n,m]=size(x);
k=1/log(n);
X=zeros(n,m);
for j=1:m
for i=1:n
c=sort(x(:,j));
big=x(n,j);
small=x(1,j);
X(i,j)=(x(i,j)-small)/(big-small)+1;
end
end
p=[];
for j=1:m
th=0;
for t=(X(:,1))'
th=th+t;
end
Ph=X(:,j)/th;
p=[p Ph];
end
e=[];
for j=1:m
eg=0;
for i=1:n
eh=-k*p(i,j)*log(p(i,j));
eg=eg+eh;
end
e=[e,eg];
end
E=0;
for j=1:m
E=E+e(j);
end
g=[];
for j=1:m
gh=(1-e(j))/(m-E);
g=[g,gh];
end
Eh=0;
for nh=g
Eh=Eh+nh;
end
w=[];
for j=1:m
wh=g(j)/Eh;
w=[w,wh];
end
s=[];
for i=1:n
sh=w(i)*p(i,;
shen=0;
for she=sh
shen=shen+she;
end
s=[s ,shen];
end
作者: YJ7 时间: 2018-5-1 02:22
好有用啊!!!!!!!!!!!!!!!!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |