недоразумение в матлаб - PullRequest
1 голос
/ 24 ноября 2011

ребята, у меня простой вопрос, который, к сожалению, я не могу понять, почему это так?в Matlab, например, следующий код

W = [.41 .99 .51 .32 .15 .45 .38 .32 .36 .29 .21];
DG = sparse([6 1 2 2 3 4 4 5 5 6 1],[2 6 3 5 4 1 6 3 4 3 5],W)

создает разреженный взвешенный график, подобный этому

(4,1)       0.4500
   (6,2)       0.4100
   (2,3)       0.5100
   (5,3)       0.3200
   (6,3)       0.2900
   (3,4)       0.1500
   (5,4)       0.3600
   (1,5)       0.2100
   (2,5)       0.3200
   (1,6)       0.9900
   (4,6)       0.3800

, и это точка, которую я не мог понять, как она создает ребра, я имею в виду, у нас естьв этом примере так много вершин и ребер, как, в каком порядке он создает этот граф, «как он формируется», опять же, я не спрашиваю о коде, алгоритме или так далее, просто я повторю

из этого DG = sparse([6 1 2 2 3 4 4 5 5 6 1],[2 6 3 5 4 1 6 3 4 3 5],W), как это создает ребра, которые написаны выше? Также, как определить список вершин из этого кода? Которые являются просто вершинами? Пожалуйста, помогите мне, если что-то не понятно из моего запроса, я попытаюсь уточнить это

1 Ответ

4 голосов
/ 24 ноября 2011

Давайте возьмем первые элементы ваших векторов:

[ 6 1 2 2 3 4 4 5 5 6 1]

[2 6 3 5 4 1 6 3 4 3 5]

[ .41 .99 .51 .32 .15 .45 .38 .32 .36 .29 .21]

Это дает вам вторую строку представленной возвращаемой матрицы ((6,2) 0.4100) и т. Д.

Размещенное вами визуальное представление просто упорядочено по-разному в Matlab (по матрице)номера столбцов и строк).

...