Добавить отсутствующие / дополнительные значения в массив данных в Matlab - PullRequest
0 голосов
/ 07 апреля 2019

За 5 секунд я записал 5000 пакетов данных датчика WiFi CSI (5000 пакетов x 57 поднесущих).Но из-за динамической конфигурации оборудования иногда я получаю только 4998 x 57. Я хочу добавить и оценить 2 строки, чтобы в моем исходном проекте было 5000 строк x 57 столбцов.

Sample Data

Как видите, некоторые данные имеют размер 5000x57, а некоторые - 4998x57.

1 Ответ

0 голосов
/ 07 апреля 2019

Вы можете достичь желаемого результата, используя mean() -функцию в сочетании с оператором конкатенации [] и repmat() следующим образом:

A=randi(100,4998,57);
A=[A;repmat(mean(A),2,1)];

Большинство функций в Matlab, которые принимают массивы в качестве входных данных, будут вычисляться для каждого столбца, кроме случаев, когда входной массив имеет только 1 строку. Так же как и функция средних значений, и вы можете просто добавить вывод средних к вашим массивам.
Если вы покажете мне код, который вы использовали для импорта данных, я мог бы помочь вам создать более чистую структуру данных и, таким образом, автоматически обработать все ваши массивы. То, как в настоящее время создаются данные, это можно сделать только с помощью динамических имен переменных, что считается плохой практикой программирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...