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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 递归函数

    Python 递归函数递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。递归函数特性:必须有一个明确的结束条件; 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实…

    2022年6月29日
    22
  • GoLand 2021.5.3 激活码【在线注册码/序列号/破解码】

    GoLand 2021.5.3 激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    50
  • java如何运行_如何运行java程序[通俗易懂]

    java如何运行_如何运行java程序[通俗易懂]我们在编写Java程序以后都会在集成开发环境中运行程序,那么该如何的在命令行中运行Java程序呢?下面动力节点java学院小编为大家介绍如何运行java程序?java程序的运行步骤1、首先我们在命令行运行Java程序需要借助jdk的环境依赖,打开jdk包,需要找到javac和java两个文件,如下图所示2、接下来我们需要打开运行窗口,然后在运行窗口中输入cmd命令,如下图所示3、在CMD命令行界面…

    2022年7月8日
    22
  • 什么是robots.txt文件

    什么是robots.txt文件一、什么是robots文件Robots.txt文件是网站跟爬虫间的协议,对于专业SEO并不陌生,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。如您的网站未设置robots协议,搜索引擎对网.

    2022年5月23日
    44
  • ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    2021年10月24日
    39
  • Java字符串分割函数split「建议收藏」

    Java字符串分割函数split「建议收藏」Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: 1.split方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 基本格式:stringObj.split([separator,[limit]]) (1)stringObj 必选项。要被分解的对象即你想要进行操作的字符串,该对象…

    2022年6月17日
    26

发表回复

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

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