Минимумы в области 2d матрицы с ее индексами

У меня есть набор из 18 векторов MATLAB (необработанные показания текущих значений) данных, которые варьируются в зависимости от множества минималистов и максимумов, помещенных в 2d матрицу B который имеет размер 18 на 16348.

Я нашел индексы и значение глобального максимума каждого вектора строки. Хранится в другом векторе, а именно M (имеет максимальные значения каждого вектора строки B) и l (имеет индексы max каждого вектора строки B). используя приведенный ниже код.

[M,l]=max(B,[],2)

Теперь я хочу найти минимумы каждого вектора строки, которые встречаются до этого глобального максимума.

Я написал цикл, чтобы оглянуться назад, начиная с глобального максимума и проверяя наименьшее значение и его индексы. Условие для минимумов можно представить как b[i,l]

Это положить в цикл, как показано ниже.

o=l;    % l vector has the indices of global max of all 18 vectors%
for i=1:18
    while ( B(i,o(i)) > B(i,o(i)-1)) % to locate the minima before globalmax
            o(i)=o(i)-1;
    end;
            if( B(i,o(i) < B(i, o(i)+1))
            display(o(i));
            display(B(i,o(i)));
            break;
            end;
 end;

По какой-то причине while цикл выполняется только один раз, а затем останавливается. Это проблема, с которой я сталкиваюсь.

На графике ниже показаны 4 из 18 значений, а максимумы и минимумы для вектора отмечены.

График значений, максимумов, минимумов

0 ответов

Другие вопросы по тегам