2017-02-14 7 views
0

Все, я полагал, что текстовый файл может быть самым простым способом экспорта вывода Matlab в текстовый файл (поскольку csvwrite поддерживает только числовые значения, а xlswrite может быть больно при обработке дат и времени).Экспорт данных из Matlab в текстовый файл

Мои данные состоят из дат, временных меток, строки (название запаса), значений (значений запаса). Данные также имеют имена столбцов в виде заголовка. Как я могу экспортировать свои данные в текстовый файл (который затем я буду читать как csv). Я сделал обширное чтение, но я все еще застрял.

Любые советы для новичков? Большое спасибо

ответ

0

fprintf() - твой друг.

Однако, я буду писать здесь немного пример:

Написать короткую таблицу показательной функции в текстовый файл с именем exp.txt

x = 0:.1:1; 
A = [x; exp(x)]; 

fileID = fopen('exp.txt','w'); 
fprintf(fileID,'%6s %12s\n','x','exp(x)'); 
fprintf(fileID,'%6.2f %12.8f\n',A); 
fclose(fileID); 

Первый вызов fprintf печатает текст заголовка x и exp (x), а второй вызов печатает значения из переменной A.

Если вы планируете прочитать файл с помощью Microsoft® Notepad, используйте '\ r \ n' вместо '\ n ', чтобы перейти к новой строке. Например, заменить вызовы fprintf следующим:

fprintf(fileID,'%6s %12s\r\n','x','exp(x)'); 
fprintf(fileID,'%6.2f %12.8f\r\n',A); 

MATLAB® функции импорта, все приложения UNIX®, и Microsoft Word и WordPad признать «\ п» в качестве новой строки индикатора.

Просмотрите содержимое файла с помощью команды типа.

type exp.txt 

    x  exp(x) 
    0.00 1.00000000 
    0.10 1.10517092 
    0.20 1.22140276 
    0.30 1.34985881 
    0.40 1.49182470 
    0.50 1.64872127 
    0.60 1.82211880 
    0.70 2.01375271 
    0.80 2.22554093 
    0.90 2.45960311 
    1.00 2.71828183 

Here вы можете найти более подробную информацию и несколько примеров.

+0

Thanks Leos313. Я видел этот пример в помощи matlab, и я попытался применить его, но он получил сообщение об ошибке «Ошибка при использовании fprintf Невозможно преобразовать объекты класса« таблица »в« двойной ». Есть идеи? Также как я могу обрабатывать строки, даты и временные метки, используя fprint? Большое спасибо –

+0

делитесь своим кодом, чтобы мы могли попытаться воспроизвести ошибку. В любом случае кажется, что вы используете «% f» для печати значений двойной или с плавающей запятой, но ваши данные не удваиваются. Посмотрите в своем рабочем пространстве и используйте точную опцию для команды fprintf. – Leos313

Смежные вопросы