最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

北太天元實現(xiàn)層次分析法-以如何選購汽車為例

2023-06-07 09:04 作者:盧朓  | 我要投稿

%北太天元 層次分析法 可以用來做經(jīng)濟建模

% 美國數(shù)學(xué)家 T.L.Saaty 于1970年代提出層次分析法?

% AHP (Analytic Hierarchy Process)

% 是指將與決策總是有關(guān)的元素分解成目標(biāo)、準(zhǔn)則、方案等層次,

% 在此基礎(chǔ)之上進行定性和定量分析的決策方法。


% 舉例: 我們要采購一輛汽車

% 影響我們采購的有3個因素

% 有3個因素:?價格, 油耗,大小

% 假設(shè)有3種汽車 x, y, z

%

% 目標(biāo)層A??????????????購買汽車的欲望


% 準(zhǔn)則層B?????價格(B1)???油耗(B2)???大小(B3)


% 方案層C?????汽車x(C1)??汽車y(C2)??汽車z(C3)


%% 輸入 判斷矩陣

% 準(zhǔn)則層權(quán)重矩陣

A = [?...

?????????1???1/9?????1/3

?????????9???1???????5

?????????3????1/5?????1

???];


%


個數(shù)_B = 3;

個數(shù)_C = 3;


B = cell(1,個數(shù)_B);


% 僅僅考慮價格,選擇汽車x,y,z 的判斷矩陣

B{1} = [ ...

???????1????2????9

?????????1/2??1????5

?????????1/9?1/5??1

?????????];


% 僅僅考慮油耗,選擇汽車x,y,z 的判斷矩陣

B{2} = [ ...

???????1????2????4

?????????1/2??1????2

?????????1/4?1/2??1

?????????];


% 僅僅考慮大小,選擇汽車x,y,z 的判斷矩陣

B{3} = [ ...

???????1????2????1

?????????1/2??1????1/2

?????????1????2????1

?????????];


%% 計算權(quán)重

[yes_A, 權(quán)重_A ] = 層次分析法求權(quán)重(A);

if( ~yes_A )

???error("A沒有通過一致性檢驗");

end


權(quán)重_B = zeros(個數(shù)_C, 個數(shù)_B);


for j=1:個數(shù)_B

???[yes_Bj, 權(quán)重_Bj ] = 層次分析法求權(quán)重( B{j} );

???if( ~yes_Bj )

??????error(['B' num2str(j) '沒有通過一致性檢驗']);

???end

???權(quán)重_B(:, j) = 權(quán)重_Bj;

end


%%總后計算選擇汽車x,y,z 的欲望值

欲望值 = 權(quán)重_B * 權(quán)重_A


% 北太天元 層次分析法的判斷矩陣是否通過一致性檢驗,并且求權(quán)重

% 輸入: A必須是方陣,而且方陣的階數(shù)n 滿足 2<=n<=20

% 輸出: 是否通過一種性檢驗 = true,如果輸入的矩陣通過一致性檢驗

% 輸出: 權(quán)重是一個列向量,是矩陣的對應(yīng)最大特征值的向量(按照和為1做了歸一化)

% 例:

% A = [ 1???2??5 ;

%??????1/2?1??5/2;

%??????1/5?2/5?1 ] ;

%?[是否, 權(quán)重]?=?層次分析法求權(quán)重(A);

function [是否通過一致性檢驗, 權(quán)重] = 層次分析法求權(quán)重(A);

%% 檢查參數(shù)是否符合要求

???if (nargin ~=1)

??????help 層次分析法求權(quán)重;

??????error("層次分析法求權(quán)重的輸入?yún)?shù)必須為1");

???end


???[m,n] = size(A);

???if (m~=n)

??????help 層次分析法求權(quán)重;

??????error("層次分析法求權(quán)重的輸入?yún)?shù)A必須是方陣");

???end

???if (n < 2?|| n>20)

??????help 層次分析法求權(quán)重;

??????error("層次分析法求權(quán)重的輸入?yún)?shù)A必須是方陣");

???end


%% 求權(quán)重

???[V,D] = eig(A); % V 的每一列是A的特征向量, 但是是用2范數(shù)歸一的

???最大特征值 = max(max(D));

???[~,c]=find(D == 最大特征值 , 1); % 獲得最大特征值所在的列 c

???%特征值法求權(quán)重

???權(quán)重 = V(:,c)/ sum(V(:,c));?% 除以 sum(V(:,c)) 的是為了讓權(quán)重的求和為1


???%% 一致性檢驗

???CI = (最大特征值 - n) / (n-1);

???RI=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 ...

?????????1.59 1.60 1.61 1.615 1.62 1.63];

???%注意,這里的RI最多支持 n = 20

???% 這里n=2時,用戶輸入兩種因素的判斷矩陣,

???%?A = [ 1?m; 1/m, 1] ;

???% 如果不是 A(1,2) = 1/A(2,1) 就是不一致的。

???% 因此檢查的要非常嚴(yán)格的, 因此 RI(2) = 0;

???CR=CI/RI(n);

??????if n>2

??????if CR<0.10

?????????是否通過一致性檢驗 = true;????????%因為CR<0.10,所以矩陣A通過一致性檢驗

??????else

?????????是否通過一致性檢驗 = false;????????%因為CR>=0.10,所以矩陣A沒有通過一致性檢驗

??????end

???else

??????% 當(dāng) n = 2, 即使 CI == 0,?仍然有 CI/RI(2) = 0/0 = Nan , 此事 Nan < 0.10 會返回false

??????% 而 CI == 0 的情形是一致的

?????????if abs(CI) < eps?

?????????是否通過一致性檢驗 = true;????????%因為abs(CI) 很小,所以矩陣A通過一致性檢驗

??????else

?????????是否通過一致性檢驗 = false;????????%因為abs(CI) 很大,所以矩陣A沒有通過一致性檢驗

??????end


???end


end



北太天元實現(xiàn)層次分析法-以如何選購汽車為例的評論 (共 條)

分享到微博請遵守國家法律
冷水江市| 黄梅县| 宜州市| 榆社县| 兴安县| 鄄城县| 长治县| 黄石市| 吴堡县| 哈巴河县| 耿马| 冀州市| 洮南市| 鞍山市| 盱眙县| 视频| 新密市| 榆树市| 伽师县| 封丘县| 内丘县| 濮阳市| 叙永县| 津南区| 白银市| 方正县| 石首市| 乐至县| 武山县| 苗栗县| 甘孜| 阳信县| 民勤县| 镇宁| 乐亭县| 大渡口区| 丰顺县| 苍山县| 蒲江县| 尉犁县| 思南县|