adjacency matrix является квадратной матрицей, которая предоставляет информацию о реагентах и продуктах реакций в модели. Это позволяет вам легко определить:
Реагенты и продукты в определенной реакции в модели
Реакции, что определенная разновидность является частью, и является ли разновидность реагентом или продуктом в той реакции
Матрицей смежности является N-by-N матрица, где N равняется общему количеству разновидностей и реакций в модели. Каждая строка соответствует разновидности или реакции, и каждый столбец соответствует разновидности или реакции.
Матрица указывает, какие разновидности и реакции включены как реагенты и продукты:
Реагенты представлены в матрице с 1
в соответствующем местоположении (строка разновидностей, столбец реакции). Реагенты появляются выше диагонали.
Продукты представлены в матрице с 1
в соответствующем местоположении (строка реакции, столбец разновидностей). Продукты появляются ниже диагонали.
Все другие местоположения в матрице содержат 0
.
Например, если model object
содержит одну реакцию, равную A + B -> C
и Name
свойством реакции является R1
, матрица смежности:
A B C R1 A 0 0 0 1 B 0 0 0 1 C 0 0 0 0 R1 0 0 1 0
Получите матрицу смежности для модели путем передачи model object
как входной параметр к getadjacencymatrix
метод.
Читайте в m1
, объект модели, с помощью sbmlimport
:
m1 = sbmlimport('lotka.xml');
Получите матрицу смежности для m1
:
[M, Headings] = getadjacencymatrix(m1) M = (5,1) 1 (5,2) 1 (6,3) 1 (7,4) 1 (1,5) 1 (2,5) 1 (2,6) 1 (3,6) 1 (3,7) 1 Headings = 'x' 'y1' 'y2' 'z' 'Reaction1' 'Reaction2' 'Reaction3'
Преобразуйте матрицу смежности от разреженной матрицы до a full
матрица, чтобы более легко видеть отношения между разновидностями и реакциями:
M_full = full(M)
M_full = 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0