сюжет из файла в Matlab - PullRequest
       31

сюжет из файла в Matlab

0 голосов
/ 05 октября 2018

robot4_motors.txt

M 204 20795 20795 3000 0 16067 16066 3000 0 0 0 6000 0
M 524 20795 20794 3000 0 16067 16066 3000 0 0 0 6000 0
M 735 20795 20795 3000 0 16067 16066 3000 0 0 0 6000 0
M 995 20795 20795 3000 0 16067 16067 3000 0 0 0 6000 0
M 995 20795 20795 3000 0 16067 16067 3000 0 0 0 6000 0
M 1233 20795 20795 3000 0 16067 16067 3000 0 0 0 6000 0
M 1499 20795 20795 3000 0 16067 16067 3000 0 0 0 6000 0
M 1763 20795 20795 3000 0 16067 16067 3000 0 0 0 6000 0

Это файл данных.Я хочу вынуть 3-й столбец и 7-й столбец из файла и построить их.Я записываю код в Matlab.

Код

f = fopen('robot4_motors.txt');
plot(f(:, 3), f(:, 7))

Но код не работал.

Выдает ошибку Индекс в позиции 2 превышает массив границы (не должны превышать 1).

Ошибка в графике трюка 1 (строка 21) (f (:, 3), f (:, 7))

1 Ответ

0 голосов
/ 05 октября 2018

fopen возвращает числовой идентификатор, который относится к открытому файлу, это не матрица.Вам необходимо проанализировать файл для извлечения данных.

Один из способов анализа файла - использовать dlmread, так как это файл с пробелами.

% Read data into M starting at row 0, column 1.
M = dlmread('robot4_motors.txt', ' ', 0, 1);

После этого M будет содержать все записи из файла, кроме первого столбца (которые не являются числовыми).

>> M
M = 
     204       20795       20795        3000           0       16067       16066        3000           0           0           0        6000           0
     524       20795       20794        3000           0       16067       16066        3000           0           0           0        6000           0
     735       20795       20795        3000           0       16067       16066        3000           0           0           0        6000           0
     995       20795       20795        3000           0       16067       16067        3000           0           0           0        6000           0
     995       20795       20795        3000           0       16067       16067        3000           0           0           0        6000           0
    1233       20795       20795        3000           0       16067       16067        3000           0           0           0        6000           0
    1499       20795       20795        3000           0       16067       16067        3000           0           0           0        6000           0
    1763       20795       20795        3000           0       16067       16067        3000           0           0           0        6000           0
...