- •Введение
- •Лабораторная работа ип1 Знакомство с Matlab
- •1. Рабочая среда Matlab
- •2. Данные Matlab
- •Типы данных
- •Числовые константы
- •Символьные константы
- •Переменные
- •3. Выражения
- •3.1. Арифметические выражения
- •3.2. Логические выражения
- •3.3. Порядок вычисления выражений
- •4. Сообщения об ошибках и исправление ошибок
- •5. Завершение вычислений
- •6. Завершение работы с системой
- •7. Резюме
- •8. Контрольные вопросы
- •9. Индивидуальные задания
- •Лабораторная работа ип2 работа с матрицами в matlab
- •1. Общие сведения
- •2. Одномерные массивы – векторы
- •3. Двумерные массивы – матрицы
- •4. Использование двоеточия
- •4.1. Автозаполнение
- •4.2. Индексация
- •5. Поэлементные и матричные операции
- •6. Стандартные функции для работы с матрицами
- •7. Логическое индексирование
- •8. Контрольные вопросы
- •9. Индивидуальные задания
- •10. Упражнения
- •2. Диалоговый ввод/вывод
- •3. Управление последовательностью исполнения операторов
- •3.1. Оператор условия if
- •3.2. Оператор переключения
- •3.3. Оператор цикла с определенным числом повторений
- •3.4. Оператор цикла с неопределенным числом повторений
- •4. Контрольные вопросы
- •5. Индивидуальные задания
- •Лабораторная работа ип4 визуализация данных в matlab
- •1. Общие сведения
- •2. Построение таблицы значений функции
- •3. Двумерная графика
- •3.1. Общие правила построения графиков
- •3.2. Оформление графиков
- •3.3. Построение графиков
- •3.4. Управление свойствами графиков
- •4. Трехмерная графика
- •4.1. Общие принципы построения трехмерных графиков
- •4.2. Построение трехмерных графиков
- •4.3. Управление свойствами трехмерных графиков
- •5. Контрольные вопросы
- •6. Индивидуальные задания
- •Лабораторная работа ип5 файл-функции
- •2. Описание m-функции
- •3. Обращение к m-функции
- •4. Параметры-функции
- •5. Разновидности m-функций
- •5.1. Подфункции
- •5.2. Вложенные функции
- •6. Контрольные вопросы
- •7. Индивидуальные задания
- •2. Аппроксимация
- •2.1. Моделирование полиномом по методу
- •2.2. Аппроксимация произвольной функцией
- •3. Интерполяция
- •3.1. Кусочная интерполяция
- •3.2. Кубические сплайны
- •3.3. Интерполяция произвольной нелинейной функцией
- •4. Контрольные вопросы
- •5. Индивидуальные задания
- •Лабораторная работа ип7 Вычисление функций разложением в ряд
- •1. Общие сведения
- •2. Индивидуальное задание
- •Лабораторная работа ип8 Решение нелинейных уравнений в среде Matlab
- •1. Общие сведения
- •2. Поиск корней полиномов
- •3. Решение одного нелинейного уравнения
- •4. Решение систем нелинейных уравнений
- •5. Контрольные вопросы
- •6. Индивидуальные задания
- •Лабораторная работа ип9 обмен данными с текстовым файлом
- •1. Общие сведения
- •2. Открытие файла
- •3. Запись в текстовый файл
- •3.1. Запись строковых значений
- •3.2. Запись числовых значений
- •4. Чтение из текстового файла
- •4.1. Последовательное чтение строк
- •4.2. Последовательное чтение нескольких символов
- •4.3. Чтение чисел из текстового файла
- •4.4. Альтернативный доступ к текстовому файлу
- •5. Закрытие файла
- •6. Контрольные вопросы
- •7. Индивидуальные задания
- •Заключение
- •Список рекомендуемой литературы
- •Программирование в matlab
- •428015 Чебоксары, Московский просп., 15
Символьные константы
Символьная константа – это цепочка символов, заключенных в апострофы. Внутри апострофов можно использовать кириллицу и спецсимволы. Например
'Результат'
'***Error***'
'2+3'
Если в апострофы помещено выражение, то оно не вычисляется, а рассматривается просто как цепочка символов. Так что '2+3' не будет возвращать число 5.
Переменные
Переменные – это объекты, имеющие имена и способные хранить некоторые данные. В зависимости от этих данных переменные могут быть числовыми, символьными или логическими, обычными и индексированными. Тип переменной в Matlab заранее не декларируется и любая переменная по умолчанию считается матрицей. Тип элементов матрицы определяется выражением, значение которого присваивается переменной. Так, если это арифметическое выражение, то переменная будет числовой матрицей.
Имя переменной (ее идентификатор) может быть сколь угодно длинным, но запоминаются и различаются только первые 30 символов. Имя переменной должно быть уникальным, начинаться с буквы, может содержать латинские буквы, цифры и символ подчеркивания. Недопустимо включать в имена переменных пробелы и специальные знаки. Рекомендуется использовать содержательные (мнемонические) имена переменных, например summa для переменной, обозначающей сумму. Прописные и строчные буквы в именах различаются, т.е. SUMMA, Summa и summa – разные переменные. Для задания переменным определенных значений используется оператор присваивания, вводимый (изображаемый) символом "="
ИмяПеременной = Выражение;
Выражение, стоящее справа от оператора присваивания, может быть числовой или символьной константой, арифметическим, символьным или логическим выражением. Точка с запятой в конце выражения подавляет эхо-печать результата. Если выражение не заканчивается символом ";", то после нажатия на Enter в командном окне отобразится результат в виде
ИмяПеременной =
Результат
Например
>> x=10-7.5
x =
2.5000
>>
В одной строке допускается размещать несколько операторов присваивания, вводимых через запятую.
В Matlab имеются системные переменные и зарезервированные именованные константы (табл. 1.2). Зарезервированная (стандартная) константа – это предварительно определенное числовое или символьное значение, представленное уникальным именем. Такие константы называют еще системными переменными, поскольку, с одной стороны, они задаются системой при ее загрузке, а с другой – могут и переопределяться.
Таблица 1.2
Имя |
Значение |
i и j |
Мнимая единица ( ) |
pi |
Число π |
inf |
Машинная бесконечность (число, большее чем realmax) |
nan |
Неопределенный результат типа 0/0 или inf/inf (нечисловой характер данных) |
eps |
Машинная точность (погрешность операций над числами с плавающей точкой 2-52 ≈ 2,2∙10-16) |
ans |
Результат последней операции, выполненной без знака присваивания |
realmax и realmin |
Максимально и минимально возможные значения, которые могут быть использованы (21022 и 2-1022) |
Можно задать системной переменной eps иное значение, например eps=0.0001. Однако важно то, что их значения по умолчанию задаются сразу после загрузки системы. Поэтому неопределенными в отличие от обычных переменных системные переменные не могут быть никогда. Переменные, вводимые пользователем, обязательно перед их использованием должны получить конкретное значение. В противном случае Matlab диагностирует ошибку "??? Undefined function or variable 'x'", что означает "неопределенная функция или переменная с именем x". Определенная пользователем (созданная) в командном окне переменная автоматически регистрируется (размещается) в рабочем пространстве Workspace (рис. 1.3). Обратите внимание, как в колонке Size указан размер переменной x – не смотря на то, что ее значение – число, она для Matlab является не скаляром, а матрицей 1×1. И это закономерно! Ведь само название Matlab образовано от Matrix laboratory – дословно "матричная лаборатория", и любое отдельно заданное число СКМ воспринимает как матрицу из одной строки и одного столбца.
Рис. 1.3. Определение переменной пользователя