%灰色**優點:操作簡單、所需資料量少,一般只要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的基本運算性質不 同,陣列強調元素對元素的運算,而矩陣則採用線性代數的運算方式。而宣告一變數為陣列或是矩陣時,如果是要個別鍵入元素,須用中括號 將元素置於其中。陣列為一維元素所構成,...