Распределенная операция двоеточия
codistributed.colon(a,d,b)
codistributed.colon(a,b)
codistributed.colon(___,codist)
codistributed.colon(___,'noCommunication')
codistributed.colon(___,codist,'noCommunication')
codistributed.colon(a,d,b) секционирует вектор a:d:b в numlabs смежные субвекторы равной или почти равной длины, и создает совместно распределенный массив, локальная часть которого на каждом работнике является labindex-й субвектор.
codistributed.colon(a,b) использование d = 1.
Необязательные аргументы для codistributed.colon должны быть указаны после требуемых аргументов и в следующем порядке:
codistributed.colon(___,codist) использует объект codistributor codist для задания схемы распределения результирующего вектора. Если значение опущено, результат распределяется с использованием схемы распределения по умолчанию. Сведения о построении объектов coddistributor см. на страницах ссылок для codistributor1d и codistributor2dbc.
codistributed.colon(___,'noCommunication') или codistributed.colon(___,codist,'noCommunication') указывает, что при построении вектора связь не должна выполняться, пропуская некоторые шаги проверки ошибок.
Разбиение вектора 1:10 на четыре субвектора среди четырех работников.
spmd(4); C = codistributed.colon(1,10), end
Lab 1:
This worker stores C(1:3).
LocalPart: [1 2 3]
Codistributor: [1x1 codistributor1d]
Lab 2:
This worker stores C(4:6).
LocalPart: [4 5 6]
Codistributor: [1x1 codistributor1d]
Lab 3:
This worker stores C(7:8).
LocalPart: [7 8]
Codistributor: [1x1 codistributor1d]
Lab 4:
This worker stores C(9:10).
LocalPart: [9 10]
Codistributor: [1x1 codistributor1d]