Graph
::setEdgeCosts
Ребро присвоений стоит к ребрам.
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Graph::setEdgeCosts(G
, Edge
, EdgeCosts
, <OnlySpecifiedEdges>)
Graph::setEdgeCosts(G, Edges, EdgeCosts)
возвращает график где Edges
имейте преимущество стоит EdgeCosts
.
Если OnlySpecifiedEdges утверждается, и неориентированный граф должен быть изменен, только заданные ребра используются а не инвертированные единицы. Например, если вызов Graph::setEdgeCosts(G, [[u,v]], [1])
вызывается, только ребро [u, v] добирается 1. Ребро [v, u] не будет изменен.
Замена None
может использоваться, когда заданное ребро не должно получать присвоенные затраты.
Сначала позволяет, задают график без затрат ребра:
G1 := Graph::createCircleGraph(3): Graph::getEdgeCosts(G1)
FAIL
был возвращен, потому что никакое ребро не стоит заданного werde.
Graph::getEdges(G1); G1 := Graph::setEdgeCosts(G1, [[1, 2], [3, 1]], [5, 1/2]): Graph::getEdgeCosts(G1)
Первый выход показывает всем ребрам и второму присвоенные затраты ребра.
G1 := Graph::setEdgeCosts(G1, [[2, 3]], [infinity]): Graph::getEdgeCosts(G1)
Легко видеть что только стоимость ребра [2,3]
был изменен.
Сначала позволяет, задают график без затрат ребра:
G1 := Graph::createCompleteGraph(3): Graph::getEdgeCosts(G1)
FAIL
был возвращен, потому что никакое ребро не стоит заданного werde.
Graph::getEdges(G1); G2 := Graph::setEdgeCosts(G1, [[1, 2], [3, 1]], [5, 1/2]): Graph::getEdgeCosts(G2)
Первый выход показывает все ребра (график является неориентированным!) и второй присвоенные затраты ребра. Не только заданные ребра были установлены, но также и вернувшиеся ребра.
Graph::getEdges(G1); G2 := Graph::setEdgeCosts(G1, [[1, 2], [3, 1]], [5, 1/2], OnlySpecifiedEdges): Graph::getEdgeCosts(G2)
Легко видеть, что только заданные затраты ребра были изменены а не вернувшиеся ребра, также.
Там существуйте также возможность установить затраты с помощью таблицы вместо списка.
tbl := table([1, 2] = 15, [1, 3] = 20): G2 := Graph::createCompleteGraph(3):
G2 := Graph::setEdgeCosts(G2, [[1, 2], [3, 1]], tbl): Graph::getEdgeCosts(G2)
И снова, но на этот раз только заданные ребра:
tbl := table([1, 2] = 15, [1, 3] = 20): G2 := Graph::createCompleteGraph(3):
G2 := Graph::setEdgeCosts(G2, [[1, 2], [3, 1]], tbl, OnlySpecifiedEdges): Graph::getEdgeCosts(G2)
|
График |
|
Список одного или нескольких ребер |
|
Список одного или нескольких чисел или таблица, состоящая из ребер с их затратами. |
|
Только ребра заданы в |
Новый график с откорректированными затратами ребра.