Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Числ_методы_I_(лаб).doc
Скачиваний:
217
Добавлен:
05.06.2015
Размер:
3.44 Mб
Скачать

Вывод информации в файл

Как уже было сказано выше, если оператор присваивания не завершается символом «;» (точка с запятой), то результаты его выполнения выводятся в командное окно. Вывод же информации в текстовый файл производится при помощи функцииfprintf, при этом файл, естественно, должен быть предварительно открыт. Для этого предназначена функцияfopen, позволяющая открыть существующий или создать новый файл. Имя файла в этой функции указывается первым входным аргументом в апострофах. Второй аргумент задает способ доступа к файлу, он может принимать следующие значения:

  • 'rt' – файл открывается только для чтения;

  • 'rt+' – файл открывается для чтения и записи;

  • 'wt' – создаётся пустой файл только для записи;

  • 'wt+' – создаётся пустой файл для записи и чтения;

  • 'at' – файл открывается, а если его нет, то создаётся, только для добавления данных в его конец;

  • 'at+' – файл открывается, а если его нет, то создаётся, для добавления данных в конец файла и их чтения.

Выходным аргументом функции fopenявляется идентификатор (ссылочный или логический номер), присвоенный файлу, например

[Vx] = fopen('beep.m', 'rt');

Если файл beep.mоткрыть не удалось, то переменнойVxприсваивается значение –1. Такая ошибка часто возникают из-за того, что Matlabне может найти открываемый файл. Поэтому следует указывать полное имя файла. В противном случае, при задании только имени файла и его расширения, Matlabпроизводит поиск только в текущем каталоге и путях поиска, указанных в окнеCurrent folder.

Функция fopenможет быть вызвана и со вторым дополнительным выходным аргументом – строковой переменной с сообщением о результате открытия

[Vx,mes] = fopen('example.txt', 'wt');

В данном случае Vx– переменная, в которой возвращается ссылочный или логический номер, присвоенный файлу,mes– переменная, в которой формируется сообщение о результате открытия файла.

В текстовый файл можно выводить текстовые строки и значения переменных, в том числе и числовых.

Добавление записи в текстовый файл осуществляется при помощи команды fprintf, вызванной с двумя входными аргументами – идентификатором файла и выражением с текстом записи, например, команда

fprintf(Vx, 'Текст выводимой строки.')

записывает запись «Текст выводимой строки.» в строку файла с идентификатором Vx, присвоенным ему при открытии. Последующая команда fprintf

fprintf(Vx, 'Ещё одна строка.')

выводит в файл запись «Ещё одна строка.» в ту же строку файла сразу за ранее выведенной записью.

Для вывода записи с новой строки следует добавить символ перевода строки «\n» в начало новой строки после апострофа:

fprintf(Vx, '\nЭтот текст с новой строки.')

В результате выполнения трех вышеперечисленных команд содержимое текстового файла станет следующим:

Текст выводимой строки. Еще одна строка.

Этот текст с новой строки.

Символ перевода строки «\n» можно разместить в конце записи, после которой текст должен начинаться с новой строки, например, последовательность команд

fprintf(Vx, 'Текст выводимой строки.')

fprintf(Vx, 'Еще одна строка.\n')

fprintf(Vx, 'Этот текст с новой строки.)

приводит к аналогичному результату.

Файл–программа, демонстрирующая вывод трёх строк в текстовый файл с именем 'ksi.txt', находящийся в текущей папке, имеет следующий вид

[F,ss] = fopen('ksi.txt', 'wt');

fprintf(F, 'Текст выводимой строки.’);

fprintf(F, 'Еще одна строка.\n')

fprintf(F, 'Этот текст с новой строки.')

fclose(F);

Идентификатор файла может быть опущен, в этом случае производится вывод в командное окно.