- •Раздел 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.2 Чтение и запись неформатированных файлов
Другой способ загрузки данных – это использование функции dlmread, которая загружает числовые данные из файла в переменную. Действие команды аналогично использованию Import Wizard.
Синтаксис.
M = dlmread(filename) – чтение данных из файла с именем filename в переменную M;
M = dlmread(filename,D) – чтение данных с указанием разделителя D
M = dlmread(filename, D, R, C) – чтение данных, представленных через разделитель D начиная с элемента с номером R, C;
M = dlmread(filename, D, range) – чтение данных из файла filename, где range = [R1 C1 R2 C2] – номер верхнего левого и нижнего правого элементов, которые определяют часть данных для считывания.
В случае, когда определен разделитель, лишние пробелы в записи данных не повлияют на правильное заполнение массива.
Пример.
>> A= dlmread('d1.txt', ','); % загрузка данных из текстового файла в переменную А.
Просмотр результатов:
A =
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Записать результат в текстовый файл можно с помощью функции dlmwrite.
Синтаксис.
dlmwrite(filename, M) – записывает значения матрицы М в файл с именем filename;
dlmwrite(filename, M, 'D') – запись в файл с указание разделителя D;
dlmwrite(filename, M, 'D', R, C) – запись в файл с указание разделителя D начиная с элемента с номером R, C;
dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, ...) – запись
данных с заданными атрибутами;
dlmwrite(filename, M, '-append') – допись данных М в конец файла filename;
dlmwrite(filename, M, '-append', attribute-value list) – дописывание данных с заданными атрибутами.
Таблица 1.18. Атрибуты функции dlmwrite
Атрибут |
Значение |
d |
разделитель между значениями |
newline |
символ (символы) перехода на новую строку. Значение 'pc' соответсвует CR/LF |
roffset |
определяет номер строки, начиная с которой данные записываются в файл |
coffset |
определяет номер столбца, начиная с которого данные записываются в файл |
precision |
точность (количество десятичных знаков). Точность также можно задать символьной строкой как формат, например,'%10.5f'. |
Примеры.
Запись матрицы d1 в текстовый файл 'myfile.txt', используя в качестве разделителя знак табуляции \t с точностью до 6-го знака.
>> dlmwrite('myfile.txt', d1, 'delimiter', '\t','precision', 6)
>> type myfile.txt % вывод данных из файла на экран
1 2 3 4 5 6
7 8 9 10 11 12
Создание файла из двух матриц М, Z и дописывание в конец файла значений этих матриц, умноженных на 2с разделителем пробел между значениями.
>> M = magic(3); Z=rand(3); % формирование матриц
>> dlmwrite('myfile.txt', [M Z], ' ') % записывание значений в файл
>> type myfile.txt % вывод содержимого на экран
8 |
1 |
6 |
0.81472 |
0.91338 |
0.2785 |
3 |
5 |
7 |
0.90579 |
0.63236 |
0.54688 |
4 |
9 |
2 |
0.12699 |
0.09754 |
0.95751 |
Дописывание в конец файла через одну строку значений матриц М, Z, умноженных на 2
>> dlmwrite('myfile.txt', [M*2 Z*2], '-append', 'roffset', 1, 'delimiter', ' ')
>> type myfile.txt % вывод новых значений на экран
8 |
1 |
6 |
0.81472 |
0.91338 |
0.2785 |
3 |
5 |
7 |
0.90579 |
0.63236 |
0.54688 |
4 |
9 |
2 |
0.12699 |
0.09754 |
0.95751 |
|
|
|
|
|
|
16 |
2 |
12 |
1.6294 |
1.8268 |
0.557 |
6 |
10 |
14 |
1.8116 |
1.2647 |
1.0938 |
8 |
18 |
4 |
0.25397 |
0.19508 |
1.915 |
