- •Раздел 1 Основные понятия среды matlab
- •1. Начало работы в среде matlab
- •1.1. Характеристика среды matlab
- •1.2. Общие положения и правила работы в среде matlab
- •1.3. Работа в командном окне
- •1.4. Правила и особенности ввода математических выражений
- •1.5. Сохранение содержимого рабочего окна
- •2 Системные переменные и типы данных
- •2.1 Системные переменные
- •2.2. Типы данных. Описание основных типов
- •2.3. Комплексные числа
- •2.4. Символьные переменные
- •2.5. Массивы
- •2.5.1 Задание массивов
- •2.5.2 Доступ к элементам массивов
- •2.5.3 Функции обработки массивов
- •2.6 Тип данных структура (struct)
- •2.6.1 Задание структур
- •2.6.2 Функции обработки структур
- •2.7 Тип данных ячейка (сell)
- •2.8 Функции определения типов
- •2.9 Функции для работы со значениями даты и времени
- •2.10 Функции преобразования типов
- •3. Основные операции и математические функции matlab
- •3.1 Основные арифметические операции
- •3.2 Основные элементарные функции
- •Help имя_функции,
- •3.3 Операции отношения и логические операции
- •4 Операторы среды matlab
- •4.1 Условный оператор if
- •4.2 Условный оператор switch
- •4.3 Реализация циклических процессов
- •4.3.1 Оператор цикла while
- •4.3.2 Оператор цикла for
- •Pause – останавливает выполнение программы до момента нажатия любой клавиши на клавиатуре; pause(n) – останавливает выполнение программы на n секунд;
- •Примеры.
- •Как и в случае сценариев, к подпрограмме функции можно обратиться по имени, более того функции могут быть компонентами математических выражений и операндов, а также параметрами других функций.
- •5.4 Создание подпрограмм с переменным списком входных и выходных параметров
- •5.5 Локальные и глобальные переменные
- •5.6 Созданий функций пользователя и указателей на функции. Функции как аргументы функций.
- •5.8 Сообщения об ошибках
- •6 Ввод данных и работа с файлами
- •6.1 Использование рабочей области Workspace
- •6.2 Чтение и запись неформатированных файлов
- •6. 3 Работа с текстовыми и бинарными файлами
- •6.3.1 Команды открытия и закрытия файлов
- •6.3.2 Команды чтения и записи fread и fwrite
- •6.4 Операции над форматированными файлами
6. 3 Работа с текстовыми и бинарными файлами
К неформатированным файлам относятся как текстовые, так и бинарные файлы. Двоичными или бинарными называют файлы, данные которых, представляют собой машинные коды. Обработка двоичных файлов выполняется по следующей схеме:
открыть файл для записи (команда fopen);
записать данные в файл (команда fwrite);
закрыть файл (команда fclose);
открыть файл для чтения (команда fopen);
чтение данных из файла (команда fread) или запись данных в файл (команда fwrite);
закрыть файл (команда fclose).
6.3.1 Команды открытия и закрытия файлов
Команда fopen открывает файл, который размещен на диске под именем filename или возвращает информацию о файле (команда похожа на аналогичную функцию языка программирования С). Имя файла представляет собой символьную строку, которая может содержать полный путь к файлу, например, 'C:\Documents and Settings\Lena\dat'.
В качестве возвращаемых переменных можно определять:
одно значение (fid), которое представляет собой целое число и используется в дальнейшем для обращения к файлу при операциях ввода-вывода (таблица 2.) Значение зависит от режима открытия файла;
два значения ([fid, message]), где переменная message содержит сообщение об ошибке, которая может возникнуть при открытии файла.
Синтаксис.
fid = fopen(filename) – открытие файла с именем filename;
[fid,message] = fopen(filename,permission) – открытие файла с режимом, заданным параметром permission (таблицы 2.2, 2.3);
[fid,message] = fopen(filename,permission,format) – открытие файла с точным определением числового формата format (таблицы 2.4);
fids = fopen('all') – возвращает вектор-строку, содержащую идентификаторы всех открытых файлов, не включая стандартные потоки 0, 1 и 2. Число элементов вектора равно числу открытых пользователем файлов;
[filename,permission,format] – fopen(fid) – возвращает полное имя файла filename, строку permission и строку format. При использовании недопустимых значений fid возвращаются пустые строки для всех выходных аргументов.
Таблица 1.19 Значения переменной fid
Значение fid |
Параметр permission |
Значение |
0 |
'r' |
чтение с клавиатуры |
1 |
'а' |
вывод на дисплей |
2 |
'а' |
вывод сообщения об ошибке |
-1 |
|
неудача в открытии файла с выводом сообщения message о типе ошибки |
Таблица 1.20 Значения параметра permission
Параметр |
Значение |
'r' |
открытие файла для чтения (по умолчанию) |
'w' |
удаление содержимого существующего файла или создание нового и открытие его для записи |
'а' |
создание и открытие нового файла или открытие существующего для записи с добавлением в конец файла. |
'r+' |
открытие файла для чтения и записи |
'w+' |
удаление содержимого существующего файла или создание нового и открытие его для чтения и записи |
'a+' |
открытие или создание нового файла для чтения и записи. Новые записи добавляются в конец файла. |
'A' |
добавление записей без автоматического сдвига |
'W' |
запись без автоматического сдвига |
Добавление к строке параметра permission символа 'b' (подразумевается по умолчанию) предписывает системе открыть файл в двоичном режиме. Добавление символа 't', например 'rt', в операционных системах, которые имеют различие между текстовыми и двоичными файлами, предписывает системе открыть файл в текстовом режиме. Например, во всех версиях MATLAB для Windows/MS-DOS нельзя открыть текстовый файл без параметра 'rt'. При вводе файлов с использованием fopen в текстовом режиме удаляются все символы "возврат каретки" перед символом новой строки.
Таблица 1.21 Значения параметра format
Формат |
Назначение |
'n' или 'native' |
формат текущей системы |
'b' или 'ieee-be' |
Big-endian byte ordering |
'l' или 'ieee-le' |
Little-endian byte ordering |
's' или 'ieee-be.l64' |
Big-endian byte ordering, 64–битные данные |
По завершению работы с файлом его необходимо закрыть с помощью команды fclose.
Синтаксис.
status = fclose(fid) – закрывает файл, если он открыт. Возвращает статус файла status, равный 0, если закрытие завершилось успешно, и -1 в противном случае. Аргумент fid – это идентификатор, связанный с открытым файлом (см. функцию fopen для более подробного описания);
status = fclose('all') закрывает все открытые файлы. Возвращает 0 в случае успешного завершения и -1 – в противном случае.
Пример.
Открытие и закрытие файла:
>> fid=fopen('c:\Documents and Settings\Lena\dat'.'а+')
>> fclose(fid)
ans = 0
Для отслеживания позиции файлового указателя и работы с ним служат функции feof (индикация конца файла ), fseek ( устанавливает файловый указатель ), ftell (позволяет определять значение текущего файлового указателя), frewind (устанавливает файловый указатель на начало файла). Все эти функции имеют достаточно просты в использовании, поэтому мы их подробно рассматривать не будем.
