Использование разреженной матрицы в качестве матрицы смежности в MATLAB

У меня есть файл, содержащий следующий ориентированный граф:

1 2
2 4
3 1
2 3

Каждое число рассматривается как узел в графе.
Каждый узел в первом столбце имеет ребро пересылки к своему переднему узлу во втором столбце.
Я хочу создать матрицу смежности для этого графа.
В этом отношении я должен использовать разреженную матрицу.
Вот проблема:
Как вы можете видеть на графике, узел 4 не имеет ребер для других узлов, поэтому моя разреженная матрица смежности не будет квадратной.

Вот мой код для создания матрицы:

adj = sparse(Graph(:,1),Graph(:,2),1);

Как я могу сохранить 4-ю строку в этой матрице?


person user3400679    schedule 19.03.2016    source источник


Ответы (1)


Установите желаемый размер:

n=max(Graph(:));
adj = sparse(Graph(:,1),Graph(:,2),1,n,n);
person Daniel    schedule 19.03.2016