用」熵值法確定權重「怎麼用MATLAB軟體實現?

時間 2021-06-02 08:38:38

1樓:若許閑乘月

MATLAB沒用到,自己用R語言寫了乙個。

標準化方法用的是極值標準化

[1]喬家君.改進的熵值法在河南省可持續發展能力評估中的應用[J].資源科學,2004(01):113-119.

2樓:戲法師

function[s,w]=shang(x)[n,m]=size(x);

[X,ps]=mapminmax(x');

ps.ymin=0.002這部分要講資料歸一化後將最小的資料的值填入ps.ymax=0.996這部分要講資料歸一化後將最大的資料的值填入,因為我處理的資料量比較少

%%以是通過自己找出來的,如果資料量大的話也可以呼叫函式自己賦值ps.yrange=ps.ymax-ps.ymin;

X=mapminmax(x',ps)

X=X';

for i=1:n

for j=1:m

p(i,j)=X(i,j)/sum(X(:,j));

endend

k=1/log(n);

for j=1:m

e(j)=-k*sum(p(:,j).*log(p(:,j)));

endd=ones(1,m)-e;

w=d./sum(d);

s=w*p';

%%下面這部分在主介面輸入,data.txt是存放資料的檔案你也可以自己定義,或者使用其他的檔案,不

%%過使用其他的檔案需要改讀入方式

x=load('data.txt');

[s,w]=shang(x)

%%最終s顯示歸一化後每行的值得和,w顯示的權重。

熵值法中ln0怎麼解決?

瘋狂紳士 這問題非常簡單 有0不是問題,但是不能有負數。夾逼對抗解釋結構模型 TOPSIS SAISM TOPSIS AISM聯用 上面是乙個總的框架。上面箭頭部分概括起來就是帶權重的距離公式。用熵權法求權重的時候要先規範化。熵權法 the entropy weight method 簡稱EWM 是...

均攤法到底怎麼用?

想喝奶茶 因為已經有我關注的乙個大佬回答過均攤法的問題了,所以我就大概說一下這道題的做法 我也只是個差生所以也只能大概說一下做法,具體請看剛剛大佬發的那個吧 這道題你先找出它的晶胞,如圖二,找出關鍵的乙個晶胞,一般都在中間,如圖一 鉀原子在中心,只被乙個晶胞所用,所以鉀原子個數為1 圖一是乙個大的正...

萬用表怎麼測電容值?

已登出 使用電阻檔測,先短接電容的二個腳進行放電,然後紅錶筆接正極,黑錶筆接負極,如果有資料並且這個資料一直在增大,最後顯示1,一般就是好的。1 估測微波法級電容容量的大小 可憑經驗或參照相同容量的標準電容,根據指標擺動的最大幅度來判定。2 估測皮法級電容容量大小 要用R 10k 檔,但只能測到10...