Я не совсем уверен, что вы хотите сделать.
Команда data(~index, :) = []
удаляет все строки, для которых случайное число больше p, поэтому после этой команды data
больше не будет матрицей N-на-2, а будет меньшей матрицей. Я предполагаю, что вы не дадите эту команду, потому что после этого вы больше не сможете ссылаться на точки в data
, которые были удалены.
Если вы хотите взять расстояние между первой точкой в data
и первой точкой в data
, выбранной случайным броском монеты, можно использовать функцию find
(посмотрите, что это делает):
indexList = find(index);
firstIndex = indexList(1);
dist = sqrt((data(1,1)-data(firstIndex,1))^2 + (data(1,2)-data(firstIndex,2))^2);
Последняя строка также может быть записана как:
dist = norm(data(1,:) - data(firstIndex,:));
Если вы хотите что-то еще, пожалуйста, объясните.