читать и переписывать в Matlab - PullRequest
0 голосов
/ 29 июня 2010

Как мне написать текстовый файл в том же формате, в котором он читается в MATLAB?

Я посмотрел, и мой вопрос почти такой же, как и в предыдущем вопросе.Я хочу прочитать файл размером 84641 x 175.

и хочу создать новый .txt файл с 84641 x 40, удаляя остальные столбцы.У меня есть 2 переписать даты n раз.дата в первом столбце в формате 26.06.2010 и время во втором столбце в формате '00: 00: 04'

, когда я использую код, указанный в вопросе выше, я получаю сообщение об ошибке

???Ошибка при использовании ==> reshape Продукт известных размеров, 181, не делится на общее количество элементов, 14812175.

Ошибка при ==> записи в data = reshape (data {1}, N + 6, []) ';

Когда я комментирую это, в инструкциях printf для даты и записи данных есть ошибка.

Есть идеи ??спасибо

1 Ответ

1 голос
/ 29 июня 2010

Как автор принятого ответа на вопрос, на который вы ссылаетесь, я постараюсь объяснить, что, по моему мнению, идет не так.

Код в моем ответе предназначен для чтения данных из файла с датой XX/XX/XXXX в первом столбце, временем XX:XX:XX во втором столбце и N дополнительными столбцами данных.

Вы указываете количество элементов в data как 14812175, которое делится на 175. Равномерно делится на 175. Это означает, что ваш файл входных данных имеет 2 столбца для даты и времени, а затем 169 дополнительных столбцов данных. Это значение 169 - это то, что вы должны использовать для N. Когда столбцы даты и времени считываются из входного файла, они разбиваются на 3 столбца каждый в data (всего 6 столбцов), что при добавлении к 169 дополнительным столбцам данных дает 175.

После изменения размера data должен быть 84641 на 175. Первые 6 столбцов содержат значения даты и времени. Если вы хотите записать дату, время и первые 40 столбцов дополнительных данных в новый файл, вам придется изменить только одну строку кода в моем ответе. Эта строка:

fprintf(fid,', %.1f',data(i,7:end));  %# Output all columns of data

Должен быть изменен на это:

fprintf(fid,', %.1f',data(i,7:46));   %# Output first 40 columns of data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...