Я только начал изучать мир векторизации. Я получил одномерную векторизацию, но у меня возникли проблемы с векторизацией следующего кода. Я хочу покончить, по крайней мере, с одним из циклов for, если это возможно, потому что я планирую использовать это на гораздо большем наборе данных во многих итерациях, поэтому экономия времени вычислений имеет существенное значение.
CityPairs = [7 3
3 1
3 1
1 7
7 1
3 4
5 1
4 6];
Offices = [1;3;7];
nOffices = size(Offices,1);
connection = zeros(nOffices);
for i = 1:nOffices
for j = 1:nOffices
connection(i,j) = sum(Offices(i) == CityPairs(:,1)...
& CityPairs(:,2) == Offices(j));
end
end
disp(connection)
В этом примере 7 городов, в трех из которых есть офисы. Я хочу, чтобы попарная матрица для городов с офисами отражала сумму всех односторонних соединений между ними. Ответ на вышеуказанную проблему должен быть:
0 0 1
2 0 0
1 1 0
Любые предложения приветствуются. Заранее спасибо.
Кейт
connection(i,:) = connection(i,:);? В противном случае удалите строку. - person Daniel   schedule 24.10.2013