基於MATLAB的貝葉斯網絡工具箱BNT的安裝和使用_2

1、圖的鄰接矩陣(Adjacency Matrix)表示

拓撲網絡圖中的兩個節點相鄰或鄰接,是指節點之間至少有一條邊。把圖轉換爲鄰接矩陣的表示方式,主要是肯定相鄰節點邊的數目。有以下參考圖html

image

圖中共有三個節點,須要創建3*3的鄰接矩陣,矩陣中元素填充方法:每一列、每一行各個節點對應,若是(Vi,Vj)鄰接那麼第i行第j列的元素(cell)置爲1,否者置爲0,python

獲得的結果爲:數組

image

對於無向圖來說,其鄰接矩陣是對稱的。推薦閱讀http://mathworld.wolfram.com/AdjacencyMatrix.html網絡

2、MATLAB中矩陣數據的表示

  1. 變量命名,matlab中變量名字以字母開頭,後接字母、數字、下劃線,例如my_variable_1,嚴格區分大小寫的
  2. 變量賦值,形式: 變量 = 表達式,其結果是一個矩陣,像python語言同樣,若輸入的指定過長能夠用 … 進行鏈接,不要對預約義變量進行賦值
  3. clear命令刪除工做空間的變量,who、whos查看工做空間駐留的變量,clc清屏
  4. 矩陣(數組)是matlab數據存儲的基本單元

下面給出矩陣的建立方式函數

  • 直接輸入數據,

    將矩陣的元素用方括號擴起來[],按矩陣行的順序輸入元素,同一行的元素用空格或者逗號隔開,不一樣行之間用分號隔開。若是隻是輸入一行就形了數組(或稱做向量),其中的元素(cell)是任何matlab表達式,看下圖  spa

image

  • 利用m文件建立,參考官方文檔
  • 利用:冒號創建一個數組(向量),通常格式爲e1 : e2 : e3,其中e1爲初始值,e2爲步長,e3爲終止值,看圖

image

  • 採用定數線性採樣函數產生向量,調用格式x = linspace(a,b,n),看下圖

image

  • 採用定數的對數採樣函數來產生向量,調用格式 y = logspace(a,b,n)
  • 利用matlab函數來產生矩陣
  1. zeros()函數,建立零矩陣
  2. ones()函數,建立元素所有爲1的矩陣
  3. rand()函數,建立隨機矩陣,元素值所有在0~1之間
  4. eye()函數建立單位矩陣
  5. randn()函數產生均值爲0,方差爲1的標準正態分佈隨機矩陣

注意:()中的參數,輸入(m,n)表示產生一個m行n列的矩陣(eye()函數中m=n),m = n則是方陣,若是輸入size(A),則產生一個與A大小相同的矩陣.net

看下面圖htm

image

下面給出矩陣元素的訪問:文檔

  1. x(m,n)表明矩陣中第m行第n列的元素
  2. 其中的m,n能夠是陣列,例如x([a b c],[x y])表明第a、b、c行中第x、y列中的元素,其實就是矩陣上選出的一塊區域,看圖

 

image

其餘一些特殊矩陣,及其運算參見官方的幫助文檔。get

相關文章
相關標籤/搜索