计算熵权全代码:
w=[0,0,0,0,0,0,0];
[n,m] = size(X);
disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标'])
Judge = input(['这' num2str(m) '个指标是否需要经过正向化处理,需要请输入1 ,不需要输入0: ']);
if Judge == 1
Position = input('请输入需要正向化处理的指标所在的列,例如第2、3、6三列需要处理,那么你需要输入[2,3,6]: ');
disp('请输入需要处理的这些列的指标类型(1:极小型, 2:中间型, 3:区间型) ')
Type = input('例如:第2列是极小型,第3列是区间型,第6列是中间型,就输入[

这段代码展示了如何在MATLAB中计算熵权并进行正向化处理。程序首先获取矩阵的大小,询问用户是否需要正向化处理及处理的指标,然后对指定列依据不同指标类型进行正向化。同时,熵权计算的函数Entropy_Method用于确定权重,mylog辅助函数处理对数操作,尤其是在p(i)为0时的特殊情况。
最低0.47元/天 解锁文章
3082

被折叠的 条评论
为什么被折叠?



