- •Введение
- •Лабораторная работа ип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
Лабораторная работа ип5 файл-функции
1. M-файлы Matlab
Скрипты или файлы-сценарии являются последовательностью команд Matlab, записанной в текстовый m-файл. Они не имеют входных и выходных аргументов (параметров) и оперируют только с данными, расположенными в рабочей области. Значения переменных сохраняются в Workspace не только во время работы данного скрипта, но и на протяжении всего сеанса работы с Matlab, а значит, и при переходе от выполнения одного файла-сценария к другому. Таким образом, рабочее пространство является единым для всех файлов-сценариев, вызываемых в текущем сеансе работы Matlab.
В виде файлов-сценариев обычно оформляют основные программы, управляющие организацией всего вычислительного процесса от начала до конца. Те части программы, которые рассчитаны на неоднократное использование при изменяемых значениях входных параметров, оформляются в виде отдельных файлов-функций. Файл-функция – это еще одна разновидность m-файлов Matlab, т.е. это текстовый файл с последовательностью команд, имеющий расширение m. В каталоге файлы-сценарии и файлы-функции по внешним признакам не различимы. Но, тем не менее, между файлом-сценарием и файлом-функцией имеются существенные различия (табл. 5.1).
Ранее мы рассмотрели так называемые стандартные функции, также оформленные в виде файлов-функций. В фирменной документации они фигурируют под названием "первичные m-файлы" (Primary M-File Functions). К ним можно обращаться из командного окна, вызывать из других функций, передавать им исходные данные (через входные параметры) и получать от функций результаты (через выходные параметры). Пользователь может писать и свои собственные m-функции. Создаваемый пользователем m-файл представляет собой внешнюю функцию (в отличие от встроенной, стандартной функции). Как и для любой подпрограммы на языке высокого уровня, для внешней функции должны быть регламентированы ее описание и обращение к ней (вызов).
Таблица 5.1
Отличительные характеристики m-сценария и m-функции
М-сценарий |
М-функция |
Оперирует с данными из рабочей области Workspace системы Matlab |
Работает с переменными в пределах собственной рабочей области, отличной от Workspace. По умолчанию, внутренние переменные являются локальными по отношению к функции. Данные, расположенные в Workspace, не доступны |
Данные, которые сохраняются в рабочей области, после завершения сценария могут быть использованы для дальнейших вычислений другими скриптами или в командной строке Matlab |
Локальные данные разрушаются по окончании работы функции |
Не использует входных и выходных аргументов |
Использует входные и выходные аргументы |
Не имеет заголовка |
Имеет специальным образом оформленный заголовок |
Выполняется в режиме интерпретации |
Транслируется в псевдокод |
Предназначен для автоматизации последовательности шагов, которые нужно выполнять много раз |
Предназначена для расширения возможностей языка Matlab (библиотеки функций, пакеты прикладных программ) |