У меня есть 2 вектора длины 200, скажем, A и B; то я нахожу каждый второй процентиль массива A, используя A1 = prctile (A, [1: 2: 100], 1); , так что A1 представляет собой массив длиной 50. Теперь я хочу найти среднее из элементов A, которые попадают в каждый два элемента A1 (т. Е. Средний из элементов A между 2-м и 4-м процентилем), а также средний соответствующий Элементы B.Средние элементы массива между 2 процентилями
0
A
ответ
2
Моей идеей решить эту проблему с хорошей производительностью является создание вектора «метки», который присваивает метке (число от 1 до 51) каждому из бункеров, определяемых 50 процентилями.
%Get the indices where each new percentile bin starts
[sortedA,indexA]=sort(A);
sortedB=B(indexA);
percentile_indices=ceil(prctile(1:numel(A), [1:2:100]));
label=zeros(size(A));
label([1,percentile_indices])=1;
%Convert this to a vector which assigns an index to each bin
label=cumsum(label);
%accumulate. Take the mean of all values with the same label.
prctileMeanA=accumarray(label(:),sortedA,[],@mean);
prctileMeanB=accumarray(label(:),sortedB,[],@mean);
Смежные вопросы
- 1. Найти средние элементы из массива
- 2. Средние элементы в подсписках
- 3. vba-средние подвижные элементы
- 4. MATLAB средние массива ячеек
- 5. Средние баллы из массива
- 6. Средние неровный массива по индексу
- 7. OCaml zip элементы массива 2 на 2
- 8. Комбинируя элементы 2 мерного массива
- 9. Средние определенные элементы на основе критериев
- 10. Как рассчитать разницу между процентами свойств и процентилями?
- 11. Вычислить средние значения из массива
- 12. Получить все средние элементы IEnumerable LINQ
- 13. Средние элементы в списке переменных списков
- 14. Как перемещать элементы массива между коллекциями?
- 15. найти элементы массива между значениями linspace
- 16. Java 2-мерные массивы и средние
- 17. R: Средние близлежащие элементы в векторе
- 18. Xquery 1.0 - средние элементы с подэлементами
- 19. Swift 2 Count элементы массива, соответствующее условие
- 20. объединить 2 тусклые элементы массива в PHP
- 21. Вырезать элементы массива в Swift 2
- 22. Сравнить 2 массива и получить соответствующие элементы
- 23. Получите все средние значения между двумя номерами
- 24. Средние значения эвенов/коэффициентов с использованием массива
- 25. Элементы Delphi сравниваются между 2 списками
- 26. Хранить элементы массива между граничными пределами
- 27. Элементы массива теряются между сервером и браузером
- 28. доступа Средние Проблемы между именами и датами
- 29. Почему массив [2, 2] = 'data' удаляет элементы из массива []?
- 30. Как проверить, соответствуют ли все элементы массива 2 * 2?
Спасибо Даниилу, что решает часть моей проблемы, я на самом деле хотел бы получить значения B, соответствующих, например, если элементы А внутри 2-го и 4-го процентиля [2,8,19], которые может быть 16-м, 22-м и 112-м элементом в массиве A длиной 200, тогда мне также понадобится сумма 16-го 22-го и 112-го элементов вектора B .. @ Daniel – Sourangsu
@Sourangsu: Обновлен ответ. – Daniel
Спасибо @ Даниэль – Sourangsu