matlab 计算变异系数,变异系数法求权重matlab 代码[通俗易懂]

matlab 计算变异系数,变异系数法求权重matlab 代码[通俗易懂]利用matlab编程,很容易根据变异系数法,求得多指标综合评价模型的权重。代码如果有不懂的地方,可以联系我。变异系数法求权重matlab代码clear;clc;[data1,header1]=xlsread(‘statistic1.xlsx’,’ECO’);%必须将statistic.xlsx至于默认文件下,或者给出完整路径[data2,header2]=xlsread(‘stati…

大家好,又见面了,我是你们的朋友全栈君。

利用matlab编程,很容易根据变异系数法,求得多指标综合评价模型的权重。 代码如果有不懂的地方,可以联系我。

变异系数法求权重matlab 代码

clear;clc;

[data1,header1]=xlsread(‘statistic1.xlsx’,’ECO’); %必须将statistic.xlsx至于默认文件下,或者给出完整路径

[data2,header2]=xlsread(‘statistic2.xlsx’,’ECO’); % data1 为10个city数据,data2位20个city数据

size1=size(data1);m1=size1(1,1);d1=data1;d2=data2;

size2=size(data2);m2=size2(1,1);

judge=[4 6 12 13 16 17 18]; % 需要极大化处理的指标位置

for j=1:length(judge) % 将极小型数据指标极大化,便于计算得分 d2(:,judge(1,j))=1./d2(:,judge(1,j));

d1(:,judge(1,j))=1./d1(:,judge(1,j));

end

sum2=sum(d2);sum1=sum(d1);

data22=[];data11=[];

for i=1:m2 % 数据归一化处理

data22=[data22;d2(i,:)./sum2];

end

for i=1:m1

data11=[data11;d1(i,:)./sum1];

end

R=data22;

deta=std(R)./mean(R); % 计算变异系数

w=deta/sum(deta);

%score=data1*w’; % 综合得分

score=data11*w’;

output=[mean(R);deta;w];

score1=5+(score-min(score)+std(score)/length(score))./(max(score)-min(score)+mean(score)/length(score))*95;

% 功效系数法,使得得分在[5,100]

[ScoreFinal,index]=sort(score1,’descend’); %降序排列

sort=[ScoreFinal,index]; % 得分与排名

xlswrite(‘statistic1.xlsx’,output,’变异系数’); %输出均值mean,标准差std,权重w 到statistic1.xlsx

xlswrite(‘statistic1.xlsx’,sort,’变异sortDescend’); %输出得分与排名 statistic1.xlsx

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132269.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • db2中You can’t specify target table for update in FROM clause错误

    db2中You can’t specify target table for update in FROM clause错误db2中You can’t specify target table for update in FROM clause错误

    2022年4月23日
    67
  • 线程池参数到底要怎么配?这可能是最好的答案[通俗易懂]

    线程池参数到底要怎么配?这可能是最好的答案[通俗易懂]文章目录1线程池快速回顾2现有设置参数的方法及不足3如何设置核心线程数(corePoolSize)4如何设置最大线程数(maxPoolSize)5如何改变等待队列长度????Java学习:Java从入门到精通总结????Spring系列推荐:Spring源码解析????最近更新:2022年1月8日????个人简介:通信工程本硕????、阿里新晋猿同学????。我的故事充满机遇、挑战与翻盘,欢迎关注作者来共饮一杯鸡汤????点赞????收藏⭐留言????都是我

    2022年5月3日
    39
  • telnet 1521端口不通

    telnet 1521端口不通一:场景:本机telnet虚拟机oracle数据库1521不通二:解决方法1:首先保证双方都ping通,虚拟机本地1521telnet是通的2:虚拟机防火墙设置如下:新建规则选择端口选择TCP输入端口号1521,后面一直下一步就OK了…

    2022年6月10日
    153
  • vue中使用input file上传文件

    vue中使用input file上传文件刚刚学习前端的时候还是觉得这个东西好难的样子,后来第一家公司由于没有这个需求就没用过,现在这家公司由于要求很完美的组件,我就是用的vue组件vue-image-crop-upload(适用于pc端的比较好的组件),先在这里记录用法下次再去把vue-images-crop-upload这个组件记录下…

    2022年7月17日
    77
  • 模拟退火 python_粒子群算法怎么设置约束条件

    模拟退火 python_粒子群算法怎么设置约束条件1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linearprogramming),是研究线性约束条件下线性目标函数的极值问题的优化方法,常用于解决利用现有的资源得到最优决策的问题。简单的线性规划问题可以用Lingo软件求解,Matlab、Python中也有求解线性规划问题的库函数或求解器,很容易学习和使用,并不需要用模拟退火算法。但是,由一般线性规划问题所衍生的整数规划、混合规划、0/1规划、二次规划、非线性规划、组合优化问题,则并不是调用某个库函数都能处理.

    2022年10月13日
    3
  • Java Session的实现方法

    Java Session的实现方法HTTP协议(http://www.w3.org/Protocols/)是“一次性单向”协议。服务端不能主动连接客户端,只能被动等待并答复客户端请求。客户端连接服务端,发出一个HTTPRequest,服务端处理请求,并且返回一个HTTPResponse给客户端,本次HTTPRequest-ResponseCycle结束。我们看到,HTTP协议本身并不能支持服务端保存客户端的状态信息…

    2022年7月12日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号