
- •Введение
- •Лабораторная работа ип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
4. Сообщения об ошибках и исправление ошибок
Важной при диалоге с системой Matlab является диагностика ошибок. Вряд ли есть пользователь, помнящий точное написание тысяч операторов и функций, входящих в Matlab и в пакеты прикладных программ. Никто не застрахован от ошибок написания выражений или команд. Matlab диагностирует вводимые команды и выражения и выдает соответствующие сообщения об ошибках. Ошибки подразделены на две категории: фатальные ошибки, вызывающие аварийное завершение вычислений, и ошибки-предупреждения, не вызывающие аварийного останова выполнения команд. Сообщение о фатальной ошибке выдается в командной строке Matlab красным цветом после символов ??? (рис. 1.4).
Рис. 1.4. Исправление фатальной ошибки
Сообщение
Undefined
command/function
'sqr'
указывает на то, что не определена
команда или функция, и указывает, какая
именно – sqr.
Дело в том, что имя функции набрано
неверно (см. табл. 1.4). Разумеется, можно
заново набрать требуемое выражение.
Однако если оно громоздкое, то лучше
воспользоваться редактором командной
строки. Достаточно нажать клавишу вверх
для перелистывания предыдущих строк
командного окна. В результате в строке
ввода появится выражение sqr(2)
с курсором в его конце. Следует перевести
курсор в конец слова sqr
и нажать клавишу Tab
(рис. 1.4).
Из предложенных системой четырех
операторов клавишей вниз
выбрать sqrt
и нажать на Enter.
Выражение примет вид
>> sqrt(2)
Для его исполнения вовсе не обязательно позиционировать курсор в конец строки. Достаточно нажать Enter. Вычисления дадут ожидаемый результат – значение квадратного корня из двух.
Дружественный интерфейс очень удобен. Но не следует слепо полагаться на подсказки. Слово может так исказиться, что подсказки будут совсем не по теме или их не будет вовсе (No Completions Found – завершение не найдено).
Предупреждения системы Matlab аналогичны сообщениям об ошибках, за исключением того, что при их возникновении выполнение программы не прекращается. Например, при делении конечного числа на ноль появляется предупреждение "Warning: Devide by Zero", что означает "Предупреждение: Деление на ноль". Иногда в ходе вывода результатов вычислений вместо числовых значений появляется сокращение NaN (от слов Not a Number – не число). Оно обозначает получение неопределенности вида 0/0 или ∞/∞.
Рекомендация: не стоит пренебрегать предупреждениями, диагностируемая ошибка уровня Warning способна повлиять на ход и качество вычислений.
5. Завершение вычислений
Иногда из-за ошибок в программе или из-за сложности решаемой задачи Matlab "зацикливается" и перестает выдавать результаты либо непрерывно выдает их, хотя в этом уже нет необходимости. Для прерывания вычислений в этом случае достаточно нажать одновременно клавиши Ctrl+С (латинская буква).
6. Завершение работы с системой
Для завершения работы с системой можно использовать команды exit, quit, комбинацию клавиш Ctrl+Q или нажать на красный крестик в правом верхнем углу окна Matlab.