Измерьте важность узла
C = centrality(G,type)C = centrality(___,Name,Value) дополнительные опции использования заданы одним или несколькими Аргументами пары "имя-значение". Например, C = centrality(___,Name,Value)centrality(G,'closeness','Cost',c) задает стоимость пересечения каждого ребра.
Создайте и постройте график, содержащий шесть фиктивных веб-сайтов.
s = [1 1 2 2 3 3 3 4 5];
t = [2 5 3 4 4 5 6 1 1];
names = {'http://www.example.com/alpha', 'http://www.example.com/beta', ...
'http://www.example.com/gamma', 'http://www.example.com/delta', ...
'http://www.example.com/epsilon', 'http://www.example.com/zeta'};
G = digraph(s,t,[],names);
plot(G,'NodeLabel',{'alpha','beta','gamma','delta','epsilon','zeta'})
Вычислите ранг страницы каждого веб-сайта с помощью функции centrality. Добавьте эту информацию к таблице Nodes графика как атрибут вершин графика.
pg_ranks = centrality(G,'pagerank')pg_ranks = 6×1
0.3210
0.1706
0.1066
0.1368
0.2008
0.0643
G.Nodes.PageRank = pg_ranks; G.Nodes
ans=6×2 table
Name PageRank
________________________________ ________
'http://www.example.com/alpha' 0.32098
'http://www.example.com/beta' 0.17057
'http://www.example.com/gamma' 0.10657
'http://www.example.com/delta' 0.13678
'http://www.example.com/epsilon' 0.20078
'http://www.example.com/zeta' 0.06432
Также определите, какие узлы являются концентраторами и полномочиями с помощью centrality и добавляют очки к таблице Nodes.
hub_ranks = centrality(G,'hubs'); auth_ranks = centrality(G,'authorities'); G.Nodes.Hubs = hub_ranks; G.Nodes.Authorities = auth_ranks;
G.Nodes
ans=6×4 table
Name PageRank Hubs Authorities
________________________________ ________ __________ ___________
'http://www.example.com/alpha' 0.32098 0.24995 7.3237e-05
'http://www.example.com/beta' 0.17057 0.24995 0.099993
'http://www.example.com/gamma' 0.10657 0.49991 0.099993
'http://www.example.com/delta' 0.13678 9.1536e-05 0.29998
'http://www.example.com/epsilon' 0.20078 9.1536e-05 0.29998
'http://www.example.com/zeta' 0.06432 0 0.19999
Создайте и постройте взвешенный график с помощью случайной разреженной матрицы смежности. С тех пор существует много ребер, использует очень маленькое значение для EdgeAlpha, чтобы сделать ребра в основном прозрачными.
A = sprand(1000,1000,0.15); A = A + A'; G = graph(A,'omitselfloops'); p = plot(G,'Layout','force','EdgeAlpha',0.005,'NodeColor','r');

Вычислите центрированность степени каждого узла. Задайте важность каждого ребра с помощью веса ребра.
deg_ranks = centrality(G,'degree','Importance',G.Edges.Weight);
Используйте discretize, чтобы поместить узлы в 7 равномерно распределенных интервалов на основе их очков центрированности.
edges = linspace(min(deg_ranks),max(deg_ranks),7); bins = discretize(deg_ranks,edges);
Сделайте размер каждого узла в графике пропорциональным его счету центрированности. Размер маркера каждого узла равен интервалу номер (1-7).
p.MarkerSize = bins;

Загрузите данные в minnesota.mat, который содержит объект диаграмм G, представляющий сеть дорог в Миннесоте. Вершинам графика содержали координаты xy в переменных XCoord и YCoord таблицы G.Nodes.
load minnesota.mat
xy = [G.Nodes.XCoord G.Nodes.YCoord];Добавьте вес ребра в график, который примерно соответствует длине дорог, вычисленное использование Евклидова расстояния между координатами xy конечных узлов каждого ребра.
[s,t] = findedge(G); G.Edges.Weight = hypot(xy(s,1)-xy(t,1), xy(s,2)-xy(t,2));
Постройте график с помощью координат xy для узлов.
p = plot(G,'XData',xy(:,1),'YData',xy(:,2),'MarkerSize',5); title('Minnesota Road Network')

Вычислите центрированность близости каждого узла. Масштабируйте цвет узла NodeCData, чтобы быть пропорциональными счету центрированности.
ucc = centrality(G,'closeness'); p.NodeCData = ucc; colormap jet colorbar title('Closeness Centrality Scores - Unweighted')

Также вычислите взвешенный счет центрированности близости, с помощью веса ребра в качестве стоимости пересечения каждого ребра. Используя дорожные длины как вес ребра улучшает качество счета, поскольку расстояния теперь измеряются как сумма длин всех перемещенных ребер, а не количество ребер переместилось.
wcc = centrality(G,'closeness','Cost',G.Edges.Weight); p.NodeCData = wcc; title('Closeness Centrality Scores - Weighted')

Вычислите взвешенную музыку центрированности соотношения "между" к графику, чтобы определить дороги, чаще всего найденные на кратчайшем пути между двумя узлами. Нормируйте очки центрированности с фактором так, чтобы счет представлял вероятность, что путешественник вдоль кратчайшего пути между двумя случайными узлами переместится через данный узел. График показывает, что существует несколько очень важных введений дорог и из города.
wbc = centrality(G,'betweenness','Cost',G.Edges.Weight); n = numnodes(G); p.NodeCData = 2*wbc./((n-2)*(n-1)); colormap(flip(autumn,1)); title('Betweenness Centrality Scores - Weighted')

G Введите графикgraph | объект digraphВходной график, заданный как объект граф или диграф. Используйте граф для создания неориентированного графа или диграф для создания ориентированного графа.
Пример: G = graph(1,2)
Пример: G = digraph([1 2],[2 3])
ввод Тип центрированности узла'degree' | 'outdegree' | 'indegree' | 'closeness' | 'incloseness' | 'outcloseness' | 'betweenness' | 'pagerank' | 'eigenvector' | 'hubs' | 'authorities'Тип центрированности узла, заданной как одна из опций в таблице. Таблица также приводит совместимые Пары "имя-значение", которые работают с каждым типом. Каждое разнообразие центрированности узла предлагает различную меру важности узла в графике.
|
Опция |
Тип графика |
Описание |
Пары "имя-значение" |
|---|---|---|---|
|
|
Неориентированный |
Если вы задаете вес ребра | |
|
|
Направленный | ||
|
|
Неориентированный |
A i - количество достижимых узлов от узла
| |
|
|
Направленный | ||
|
|
Неориентированный или направленный |
Центрированность количество кратчайших путей от
| |
|
|
Неориентированный или направленный | Тип центрированности
| |
|
|
Неориентированный |
Тип центрированности
| |
|
|
Направленный |
|
Функция centrality принимает, что весь вес ребра равен 1. Чтобы изменить это, задайте вес ребра для использования с парами "имя-значение" 'Importance' или 'Cost'.
Пример: centrality(G,'degree')
Пример: centrality(G,'hubs','Tolerance',tol)
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
C = centrality(G,'closeness','Cost',edgeCosts) вычисляет центрированность близости с помощью edgeCosts в качестве стоимости (вес) пересечения каждого ребра в графике.'Cost' — Стоимость обхода ребраСтоимость обхода ребра, заданного как пара, разделенная запятой, состоящая из 'Cost' и вектор положительного веса ребра. ith вес ребра задает стоимость, сопоставленную с пересечением ребра findedge(G,i). Весь вес ребра должен быть больше, чем нуль.
Вес ребра 'Cost' меньше, когда связь является короче, или быстрее или более дешевой. Некоторые примеры веса ребра 'Cost':
Длина пути
Время прохождения
Стоимость билета
'Cost' только применяется к 'closeness', 'outcloseness', 'incloseness' и типам центрированности 'betweenness'.
Пример: centrality(G,'closeness','Cost',c)
'FollowProbability' Вероятность выбора узла преемника0.85 (значение по умолчанию) | скаляр между 0 и 1Вероятность выбора узла преемника, заданного как пара, разделенная запятой, состоящая из 'FollowProbability' и скаляра между 0 и 1. Следовать вероятность является вероятностью, что следующий узел, выбранный в обходе алгоритмом PageRank, выбран среди преемников текущего узла, и не наугад от всех узлов. Для веб-сайтов эта вероятность соответствует щелчку по ссылке на текущей веб-странице вместо того, чтобы переместиться к другой случайной веб-странице.
'FollowProbability' только применяется к типу центрированности 'pagerank'.
Пример: centrality(G,'pagerank','FollowProbability',0.5)
'Importance' — Важность ребраВажность ребра, заданная как пара, разделенная запятой, состоящая из 'Importance' и вектор неотрицательного веса ребра. ith вес ребра задает важность ребра findedge(G,i). Вес ребра нуля эквивалентен удалению того ребра из графика.
Для мультиграфов с несколькими ребрами между двумя узлами centrality добавляет несколько ребер вместе и обрабатывает их как одно ребро с объединенным весом.
Вес ребра 'Importance' больше, когда связь более сильна. Некоторые примеры веса ребра 'Importance':
Количество путешественников в день
Количество нажимает на ссылку
Количество бумаг опубликовано вместе
'Importance' только применяется к 'degree', 'outdegree', 'indegree', 'pagerank', 'eigenvector', 'hubs' и типам центрированности 'authorities'.
Пример: centrality(G,'degree','Importance',x)
'MaxIterations' Максимальное количество итераций100 (значение по умолчанию) | скалярМаксимальное количество итераций, заданных как пара, разделенная запятой, состоящая из 'MaxIterations' и скаляра. Выполнениям алгоритма centrality до допуска соответствуют, или максимальное количество итераций достигнуто, какой бы ни на первом месте.
'MaxIterations' только применяется к 'pagerank', 'eigenvector', 'hubs' и типам центрированности 'authorities'.
Пример: centrality(G,'pagerank','MaxIterations',250)
Допуск Остановка критерия итеративных решателей1e-4 (значение по умолчанию) | скалярОстановка критерия итеративных решателей, заданных как пара, разделенная запятой, состоящая из 'Tolerance' и скаляра. Выполнениям алгоритма centrality до допуска соответствуют, или максимальное количество итераций достигнуто, какой бы ни на первом месте.
'Tolerance' только применяется к 'pagerank', 'eigenvector', 'hubs' и типам центрированности 'authorities'.
Пример: centrality(G,'pagerank','Tolerance',1e-5)
C Очки центрированности узлаОчки центрированности узла, возвращенные как вектор-столбец. C(i) является счетом центрированности узла i. Интерпретация счета центрированности узла зависит от типа выбранного вычисления центрированности. Чем более центральный узел, тем больше его счет центрированности.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.