Предполагая, что у вас есть массивы X и Y, и вы хотите, чтобы найти пять наименьшие значения Y:
[m mi] = sort(Y);
lowest5index = mi(1:5);
lowest5Y = Y(lowest5index);
lowest5X = X(lowest5index);
meanYlowest5 = mean(lowest5Y);
meanXlowest5 = mean(lowest5X);
Объяснение:
sort
команда с двумя выходными параметрами возвращает как упорядоченный массив (в m
) и индексы в исходном массиве (mi
). Первые пять индексов mi(1:5)
соответствуют пяти наименьшим значениям. Взятие mean
этих значений для X и Y будет делать то, что мы хотим. Если я не понял ваше заявление о проблеме, уточните свой вопрос, и я сделаю еще один снимок.
Ваш вопрос об алгоритме, чтобы сделать это? Какой язык программирования вы используете? – Alex
Я отредактировал, мой плохой. Я пользуюсь Matlab 2012a – Vissenbot
Какая структура ваших данных? Вы указываете «массив» и «ячейки» и «X» и «Y». Я создал ответ, предполагая, что у вас есть массивы X и Y, но перечитывая свой вопрос, я на самом деле не уверен, что у вас есть ... Можете ли вы уточнить? – Floris