Я следующий вектором A
:Найти средние точки позиции длительность уравнивает в пределах массива в Matlab
A = [34 35 36 5 6 7 78 79 7 9 10 80 81 82 84 85 86 102 3 4 6 103 104 105 106 8 11 107 201 12 202 203 204];
Для n = 2
, я подсчитывал элементы больше или равно 15 в пределах A
:
D = cellfun(@numel, regexp(char((A>=15)+'0'), [repmat('0',1,n) '+'], 'split'));
Вышеприведенное выражение дает следующие значения продолжительности:
D = [3 2 7 4 6] = [A(1:3) **stop** A(7:8) **stop** A(12:18) **stop** A(22:25) **stop** A(28:33)];
Вышеуказанный алгоритм вычисляет значения продолжительности путем подсчета элементов, больших или равных 15. В подсчете также учитывается менее двух последовательных элементов, меньших 15 (n = 2
) в течение каждого события продолжительности. Счетчик останавливается, когда есть два или более последовательных элемента, меньших 15, и начинается с следующей подстроки в пределах A
.
Решение, предлагаемое здесь Find median position points of duration events присваивает последний номер в пределах строки 2 или более последовательных чисел меньших, чем 15 (3 в данном случае) после того, как A(1:3)
к следующему подстроки A(7:8)
и то же самое с другими подстроки, которая не является правильный способ вычисления событий продолжительности.
Я хочу способ найти срединные точки позиции длительности событий A(1:3)
, A(7:8)
, A(12:18)
, A(22:25)
и A(28:33)
, которые правильно вычисленных. Результат должен выглядеть следующим образом:
a1 = round(median(A(1:3))) = 2;
a2 = round(median(A(7:8))) = 8;
a3 = round(median(A(12:18))) = 15;
a4 = round(median(A(22:25))) = 24;
a5 = round(median(A(28:33))) = 31;
вы можете объяснить, почему круглые (медиана (A (1: 3))) = 2? вам нужна только медиана индекса? – GameOfThrows
@Bowecho - ответы на вопросы не так, как это работает здесь. В худшем случае модераторы предпримут действия. Что вы должны сделать: уточните свой первый вопрос и добавьте как можно больше деталей, а затем предложите щедрость. Таким образом, ваш вопрос получает полное внимание в течение недели, и вы обязательно получите ответ. – thewaywewalk
@thewaywewalk Я тоже попытаюсь это сделать. – Bowecho