Во многих научных исследованиях и любительских экспериментах требуется обработать большие объемы цифровых данных, для этой задачи лучше всего подойдет Матлаб. Особенно когда пытаться закинуть около 10 тысяч цифр в Excel совсем не вариант, Матлаб становится практически единственным удобным вариантом.
Допустим, у нас есть куча данных с Ардуино записанных в файл при помощи программы Terminal.
Для загрузки данных нужно перетащить файл с данными в область «Workspace» на главном окне программы Matlab.
После чего появится окно, где нужно выделить нужные данные и выбрать тип массива.
В этом появившемся окне необходимо:
1. Выделить столбец с цифрами таким образом, чтобы в выделенную зону не попадал текст, в случае если в файле с данными 2 и более столбцов, то их нужно выделить аналогичным образом все вместе.
2. В графе «IMPORTED DATA» выбрать тип импортируемых данных «Numeric Matrix». В изменении остальных настроек нет необходимости.
3. Импортировать в Matlab выделенные данные, нажав на зеленую галочку «Import Selection».
4. После импорта данных (может занимать до нескольких минут) закрыть окно импорта.
5. Если все прошло без ошибок, то в области «Workspace» должен появиться массив данных с тем же именем что и перетаскиваемый файл с данными. При необходимости массив можно переименовать, дважды кликнув по его названию.
Для построения графика нужно последовательно ввести ряд команд, наиболее удобно делать это при помощи скрипта. Для этого нужно проделать следующие действия:
6. Создадим новый скрипт нажав кнопку «New Script» в домашней вкладке.
7. Введите текст скрипта для построения графика.
% данные приходят с датчика 100 раз в секунду, поэтому
% разделим каждый элемент массива на 100 чтобы
% перевести номер замера во время
t = (1:length(test(:, 1)))./100; % массив времени
plot(t, test(:, 1)); % строим график
grid on % создадим сетку на графике
xlabel('Время, с'); % подпись оси Х
ylabel('Напряжение, мВ'); % подпись оси
8. Запустите скрипт нажав кнопку «Run» во вкладке «EDITOR». После этого введенные команды будут последовательно выполняться.
9. Результат выполнения приведенного в примере скрипта – график с подписанными осями. Полученный график можно сохранить в формате «png» и вставить в документ или презентацию.
Краткое описание команд (более подробное и полное описание команд с примерами есть в справке встроенной в Matlab или в интернете):
test(:, 1) – вывод первого столбца массива test. Формат вывода элементов массива «название(номер строки, номер столбца)», в примере знак «:» обозначает что мы выводим все элементы столбца 1.
length(test(:, 1)) – выводит количество элементов массива, в данном случае количество элементов первого столбца массива.
1:length(test(:, 1)) – эта команда создает массив чисел от 1 до значения длинны массива, формируя тем самым массив значений времени привязанных к результатам измерений (экспериментальных данных). Шаг этого массива 1. К примеру, если необходимо получить меньший шаг, например 0.01, то используют следующий формат записи: «1:0.01:10».
plot(t, test(:, 1)) – команда строит график, в данном случае по оси Х будет время (массив времени «t»), а по оси Y – экспериментальные данные (весь первый столбец массива «test(:, 1)»). При этом количество элементов в этих массивах должно быть одинаково.
grid on - команда создает координатную сетку на графике.
Команды xlabel('Время, с') и ylabel('Напряжение, мВ') позволяют создать подписи осей.
#Matlab, #график, #рисунок