matlab: вырезать определенные строки из данных в новую матрицу - PullRequest
0 голосов
/ 30 июня 2011

У меня есть несколько файлов raw_data, аналогичных приведенным ниже ... каждый файл .dat имеет разное количество строк ... Однако в каждом файле raw_data первые 2 строки и последние 2 строки будут перемещеныв файл angle_data.dat ... так что после программирования через код matlab каждый файл raw_data создаст 2 новых файла: один - файл angle_data, а другой - файл final_data ... (файл final_data - это оставшиеся данные из файла raw_data) ...

raw_data1.dat

AB 0,0 1,2222 3,1111

CU 0,0 2,333 12,999

GT 3,4 2,3 5,666

RP 2,5 44,3 6,777

RQ 8,222 5,999 0,344

После программирования с использованием кода Matlab, результат выглядит следующим образом:

angle_data1.dat

AB 0,0 1,2222 3,1111

CU 0,0 2,333 12,999

RP 2,5 44,3 6,777

RQ 8,222 5,999 0,344

final_data1.dat

GT 3,4 2,3 5,666

1 Ответ

0 голосов
/ 30 июня 2011

Должно работать что-то вроде следующего:

angleData=rawData(1:2;end-1:end);
finalData=rawData(3:end-2);

Я мог бы поменять местами строки и столбцы, но это идея. На этой машине у меня нет копии matlab для проверки.

РЕДАКТИРОВАТЬ: на всякий случай:

angleData=rawData(:,1:2;:,end-1:end);
finalData=rawData(:,3:end-2);

Хотя .. если у вас есть доступная оболочка, возможно, это будет намного быстрее: (Спасибо Amro за улучшенную последнюю строку)

head -n 2 raw_data.dat > angle_data.dat
tail -n 2 raw_data.dat >> angle_data.dat
head -n -2 raw_data.dat | tail -n +3 > final_data.dat
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...