灰色關聯矩陣的matlab實現

2021-09-13 19:18:16 字數 1919 閱讀 6784

%灰色**優點:操作簡單、所需資料量少,一般只要4個資料便可依據灰色序列進行**了

%灰色模型:了解某些資訊又不能完全掌握其「脾性」,用來解決不確定性問題

%關鍵字: 灰色關聯度矩陣

%灰色系統的程式設計

clc;

close;

clear all;

%控制輸出結果精度

format short;

%原始資料

x = ;

n1 = size(x,1);%size(x,1)表示返回矩陣x的行數

%資料標準化處理

for i = 1:n1

x(i,:) = x(i,1);

end%儲存中間變數,將原始資料賦予變數data

data = x;

%分離參考數列(母因素)

consult = data(6:n1,:);

m1 = size(consult,1);

%分離比較數列(子因素)

compare = data(1:5,:);

m2 = size(compare,1);

for i = 1:m1

for j = 1:m2

t(j,:) = compare(j,:)-consult(i,:);

endmin_min = min(min(abs(t')));

max_max = max(max(abs(t')));

%通常解析度都是取0.5

resolution = 0.5;

%計算關聯係數

coefficient = (min_min + resolution*max_max)./(abs(t) + resolution*max_max);

%計算關聯度

corr_degree = sum(cofficient')/size(cofficient,2);

r(i,:) = corr_degree;

end%輸出關聯度值並繪製柱形圖

r;bar(r,0.90);   %設定相關bar的寬度和控制乙個組之間bar的距離。預設寬度是0.8,所以如果你不指定x,這些乙個組內的bars有乙個比較小的距離。如果寬度是1,則乙個組內的bars是相互緊挨著的。

axis tight;%設定座標軸顯示範圍為緊湊型

%從左到右依次是.

legend('固定資產投資','工業投資','農業投資','科技投資','交通投資');

%以下程式是為了給x軸新增漢字標籤

%其基本原理是先去掉x軸上的固有標籤,然後用文字標註x軸

%去掉x軸上的預設標籤

set(gca,'xticklable','');%去掉x軸刻度

%設定x軸刻度的位置,這裡有6個母因素

n = 6;

%這裡注意:x_range範圍如果是[1 n]會導致部分柱形條不能顯示出來

%所以範圍要縮小一點

x_value = 1:1:n;

x_range = [0.6 n+.4];

%獲取當前圖形的控制代碼

set(gca,'xtick',x_value,'xlim', x_range);

%在x軸上標記6個母因素

profits = ;

y_range = ylim;

%用文字標註母因素名稱

handle_data = text(x_value,y_range(1)*ones(1,n)+.018,profits(1:1:n));

%把文字的字型設定合適的格式和大小並旋轉一定的角度

set(handle_date,'horizontalalignment','right','verticalalignment','top','rotation',35,'fontname','arial','fontsize',10.5);

%y軸標記

ylabel('y');

title('投資對收入的作用');

分數階灰色系列模型Matlab實現

本程式只能在matlab中執行,請選擇好檔案位址。步驟 1 開啟input.m 填入真實序列的資料 x0 2 開啟output.m 修改以下 nf 表示要往後 的資料的個數,如nf 3,將會 出三個資料 model name 表示想要使用的模型,可以任意選擇 3 全選,然後右鍵執行 輸出的結果 r ...

matlab矩陣的操作

l 矩陣的輸入 i.直接輸入建立矩陣 輸入方法是先鍵入左方括弧 然後按行直接鍵入矩陣的所有元素,最後鍵入右方括弧 注意 整個矩陣以 和 作為首尾,同行的元素用 或空格隔開,不同行的元素用 或按enter鍵來分隔 矩陣的元素可以為數字也可以為表示式,如果進行的是數值計算,表示式中不可包含未知的變數。例...

Matlab矩陣的產生

1.簡易陣列 matlab的運算事實上是以陣列 array 及矩陣 matrix 方式在做運算,而這二者在matlab的基本運算性質不 同,陣列強調元素對元素的運算,而矩陣則採用線性代數的運算方式。而宣告一變數為陣列或是矩陣時,如果是要個別鍵入元素,須用中括號 將元素置於其中。陣列為一維元素所構成,...