English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Экспорт данных (или вывод) в MATLAB означает写入 файл. MATLAB позволяет использовать ваши данные в другой программе, читающей ASCII файл. Для этого MATLAB предоставляет несколько опций для экспорта данных.
Вы можете создать следующие типы файлов-
Прямоугольники в массиве и разделенные ASCII данные файла.
Журнал клавиатуры (или лог) и текстовый вывод результатов.
Специализированный ASCII файл, используемый для записи данных с помощью низкоуровневых функций (например, fprintf).
Файл MEX, используемый для доступа к процедурам C / C ++ или Fortran, записанным в определенном текстовом формате файла.
Кроме того, вы также можете экспортировать данные в электронную таблицу.
Есть два способа экспортировать числовой массив в файл ASCII данных с ограничителями-
Использованиеsaveфункция и указать-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]; сохранить массив_данных1.out num_array -ascii; тип массив_данных1.out dlmwrite('массив_данных2.out', num_array, ' '); тип массив_данных2.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Функция преобразует массив элементов в матрицу
или использовать низкоуровневые функции ввода-вывода файла для экспорта массива элементов.
Если использоватьsaveФункция записи массива символов в файл ASCII эквивалентна записи символов в файл в формате ASCII.
Например, давайте напишем слово "hello" в файл-
h = 'hello'; savetextdata.outh -ascii type textdata.out
MATLAB выполняет указанные выше инструкции и отображает следующие результаты. Это строка в 8-битном формате ASCII "hello".
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)Функция его закрывает.
Следующие примеры демонстрируют концепцию-
Создайте файл скрипта и введите следующий код-
%Создается матрица y с двумя строками x = 0:10:100; y = [x; log(x)]; %Открываем файл для записи fid = fopen('logtable.txt', 'w'); %Заголовок таблицы fprintf(fid, 'Log Function\n\n'); %Значения выводятся по столбцам %На каждой строке файла отображаются два значения fprintf(fid, '%f %f\n', y); fclose(fid); %Отображение созданного файла type logtable.txt
Когда файл запускается, он показывает следующий результат-
Log Function 0.000000 -Inf 10.000000 2.302585 20.000000 2.995732 30.000000 3.401197 40.000000 3.688879 50.000000 3.912023 60.000000 4.094345 70.000000 4.248495 80.000000 4.382027 90.000000 4.499810 100.000000 4.605170