Экспорт данных (или вывод) в MATLAB означает запись в файлы. MATLAB позволяет вам использовать ваши данные в другом приложении, которое читает файлы ASCII. Для этого MATLAB предоставляет несколько вариантов экспорта данных.
Вы можете создать следующий тип файлов —
-
Прямоугольный файл данных ASCII с разделителями из массива.
-
Дневник (или журнал) файла нажатий клавиш и результирующего текстового вывода.
-
Специализированный файл ASCII с использованием низкоуровневых функций, таких как fprintf.
-
MEX-файл для доступа к вашей подпрограмме C / C ++ или Fortran, которая записывает в определенный формат текстового файла.
Прямоугольный файл данных ASCII с разделителями из массива.
Дневник (или журнал) файла нажатий клавиш и результирующего текстового вывода.
Специализированный файл ASCII с использованием низкоуровневых функций, таких как fprintf.
MEX-файл для доступа к вашей подпрограмме C / C ++ или Fortran, которая записывает в определенный формат текстового файла.
Помимо этого, вы также можете экспортировать данные в электронные таблицы.
Существует два способа экспорта числового массива в виде файла данных с разделителями ASCII:
-
Использование функции сохранения и указание спецификатора -ascii
-
Использование функции dlmwrite
Использование функции сохранения и указание спецификатора -ascii
Использование функции dlmwrite
Синтаксис для использования функции сохранения —
save my_data.out num_array -ascii
где my_data.out — созданный файл данных ASCII с разделителями, num_array — числовой массив, а -ascii — спецификатор.
Синтаксис использования функции dlmwrite —
dlmwrite('my_data.out', num_array, 'dlm_char')
где my_data.out — созданный файл данных ASCII с разделителями, num_array — числовой массив, а dlm_char — символ разделителя.
пример
Следующий пример демонстрирует концепцию. Создайте файл сценария и введите следующий код —
num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0]; save array_data1.out num_array -ascii; type array_data1.out dlmwrite('array_data2.out', num_array, ' '); type array_data2.out
Когда вы запускаете файл, он показывает следующий результат —
1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00 4.0000000e+00 5.0000000e+00 6.0000000e+00 7.0000000e+00 7.0000000e+00 8.0000000e+00 9.0000000e+00 0.0000000e+00 1 2 3 4 4 5 6 7 7 8 9 0
Обратите внимание, что команда save -ascii и функция dlmwrite не работают с массивами ячеек в качестве входных данных. Чтобы создать файл ASCII с разделителями из содержимого массива ячеек, вы можете
-
Либо преобразуйте массив ячеек в матрицу, используя функцию cell2mat
-
Или экспортируйте массив ячеек, используя низкоуровневые функции файлового ввода-вывода.
Либо преобразуйте массив ячеек в матрицу, используя функцию cell2mat
Или экспортируйте массив ячеек, используя низкоуровневые функции файлового ввода-вывода.
Если вы используете функцию сохранения для записи массива символов в файл ASCII, он записывает в файл эквивалент символов ASCII.
Например, давайте напишем слово «привет» в файл —
h = 'hello'; save textdata.out h -ascii type textdata.out
MATLAB выполняет вышеуказанные операторы и отображает следующий результат. это символы строки ‘hello’ в 8-значном формате ASCII.
1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02
Запись в дневник
Дневниковые файлы — это журналы активности вашего сеанса MATLAB. Функция дневника создает точную копию вашей сессии в файле на диске, исключая графику.
Чтобы включить функцию дневника, введите —
diary
При желании вы можете дать имя файла журнала, скажем —
diary logdata.out
Чтобы отключить функцию дневника —
diary off
Вы можете открыть файл дневника в текстовом редакторе.
Экспорт данных в текстовые файлы данных с низкоуровневым вводом / выводом
До сих пор мы экспортировали числовые массивы. Однако вам может потребоваться создать другие текстовые файлы, включая комбинации числовых и символьных данных, непрямоугольные выходные файлы или файлы со схемами кодирования, отличными от ASCII. Для этих целей MATLAB предоставляет низкоуровневую функцию fprintf .
Как и в низкоуровневых операциях с файлами ввода-вывода, перед экспортом необходимо открыть или создать файл с помощью функции fopen и получить идентификатор файла. По умолчанию fopen открывает файл только для чтения. Вы должны указать разрешение на запись или добавление, например, «w» или «a».
После обработки файла его необходимо закрыть с помощью функции fclose (fid) .
Следующий пример демонстрирует концепцию —
пример
Создайте файл сценария и введите в нем следующий код —
% create a matrix y, with two rows x = 0:10:100; y = [x; log(x)]; % open a file for writing fid = fopen('logtable.txt', 'w'); % Table Header fprintf(fid, 'Log Function\n\n'); % print values in column order % two values appear on each row of the file fprintf(fid, '%f %f\n', y); fclose(fid); % display the file created type logtable.txt
Когда вы запускаете файл, он показывает следующий результат —