- •§ 2.2. Командное окно системы matlab
- •§ 2.3. Рабочее пространство системы matlab
- •§ 2.4. Скаляры и массивы. Индексированные переменные
- •§ 2.5. Форматы представления вещественных чисел
- •§ 2.6. Арифметические выражения
- •2.6.1. Некоторая специфика использования вещественных данных
- •2.6.2. Некоторая специфика использования комплексных данных
- •2.6.3. Некоторые приемы работы с матрицами и векторами
- •2.6.4. Некоторые специфика выполнения арифметических и логических операций.
- •§ 2.7. Элементарные математические функции
- •Часть 2. Визуализация результатов вычислений
- •§ 2.8. Особенности графической подсистемы matlab
- •§ 2.9. Построение графиков функций одной переменной
- •2.9.1. Простые графики в декартовой системе координат.
- •2.9.2. Визуализация нескольких графиков.
- •2.9.3. Функция fplot.
- •2.9.4. Построение графиков в логарифмическом и полулогарифмическом масштабах.
- •2.9.5. Построение графиков в полярных координатах.
- •§ 2.10. Оформление графиков и графических окон
- •2.10.1. Выбор свойств линий.
- •2.10.2. Оформление осей координат.
- •2.10.3. Добавление надписей, заголовков и координатной сетки.
- •§ 2.11. Средства управления в графическом окне
- •§ 2.12. Общее знакомство с трехмерной графикой в matlab
- •2.12.1. Общий алгоритм визуализации функций двух переменных.
- •2.12.2. Построение трехмерных линий.
- •2.12.3. Построение поверхностей.
- •2.12.4. Задание дополнительных параметров трехмерных графиков.
- •2.12.5. Построение линий уровня.
- •2.12.6. Построение траектории точки, движущейся в пространстве.
- •2.12.7. Интерактивное редактирование графиков.
- •Часть 3. Вычисления с действительными и комплексными массивами чисел
- •§ 2.13. Операции отношения и логические операции над числами
- •2.13.1. Операции отношения.
- •2.13.2. Логические операции.
- •2.13.3. Приоритет операций.
- •§ 2.14. Формирование одномерных числовых массивов
- •2.14.1. Задание одномерных массивов и доступ к их элементам.
- •2.14.2. Об ускорении операций задания массива.
- •2.14.3. Об использовании операции формирования диапазона.
- •§ 2.15. Матрицы и векторы. Двумерные массивы чисел
- •2.15.1. Создание матриц и векторов.
- •2.15.2. Доступ к отдельным фрагментам матриц.
- •2.15.3. Удаление строк и столбцов матрицы.
- •2.15.4. Использование функций перестановки частей матриц.
- •2.15.5. Определение размеров и размерностей массивов.
- •2.15.6. Использование операций индексации.
- •2.15.7. Изменение размеров массива.
- •2.15.8. Специальные функции формирования массивов.
- •§ 2.16. Вычисления с массивами
- •2.16.1. Поэлементные и групповые операции над массивами.
- •2.16.2. Решение некоторых типовых задач линейной алгебры и аналитической геометрии.
- •2.16.3. Применение операций отношения и логических операций к массивам.
- •2.16.4. Некоторые функции для работы с массивами.
- •Часть 4. Стандартные средства решения некоторых типовых задач линейной алгебры и математического анализа
- •§ 2.17. Решение систем линейных алгебраических уравнений
- •§ 2.18. Решение некоторых задач линейной алгебры. Матричные функции
- •§ 2.19. Разреженные матрицы
- •§ 2.20. Решение нелинейных уравнений
- •§ 2.21. Поиск минимального значения функции
- •§ 2.22. Численное интегрирование
- •2.22.1. Использование метода трапеций.
- •2.22.2. Использование методов Симпсона и Гаусса-Лобатто.
- •2.22.3. Вычисление двойных интегралов.
- •§ 2.23. Операции над полиномами
- •2.23.1. Вычисление значения полинома.
- •2.23.2. Вычисление корней полинома.
- •2.23.3. Умножение и деление полиномов.
- •2.23.4. Дифференцирование и интегрирование полиномов.
- •§ 2.24. Интерполяция и аппроксимация данных
- •2.24.1. Полиномиальная аппроксимация.
- •2.24.2. Интерполяция сплайнами.
- •Часть 5. Символьные вычисления
- •§ 2.25. Создание символьных переменных, выражений и матриц
- •2.25.1. Создание символьных переменных.
- •2.25.2. Создание символьных выражений.
- •2.25.3. Создание символьных матриц.
- •§ 2.26. Символьные вычисления
- •2.26.1. Символьное дифференцирование.
- •2.26.2. Вычисление пределов.
- •2.26.3. Символьное интегрирование.
- •2.26.3. Вычисление суммы ряда. Разложение функций в ряды.
- •2.26.4. Упрощение выражений. Подстановки.
- •2.26.5. Управление точностью вычислений.
- •2.26.6. Операции над векторами. Операции над матрицами. Некоторые операции линейной алгебры.
- •2.26.7. Решение уравнений и систем уравнений.
- •§ 2.27. Визуализация результатов символьных вычислений
- •2.27.1. Построение двумерных графиков.
- •2.27.2. Построение трехмерных графиков.
- •Часть 6. Основы программирования на m-языке
- •§ 2.28. Основные понятия программирования в системе matlab
- •2.28.1. Назначение языка программирования matlab.
- •2.28.2. Основные средства программирования.
- •2.28.3. Основные типы данных.
- •2.28.4. Виды программирования.
- •2.28.5. Двойственность операторов, команд и функций.
- •2.28.6. Некоторые ограничения.
- •§ 2.29. Создание и использование m-файлов
- •2.29.1. Понятие об m-файлах.
- •2.29.2. Типы m-файлов.
- •2.29.3. Создание файл-программ.
- •2.29.4. Создание файл-функций.
- •2.29.5. Глобализация переменных и функций.
- •2.29.6. Синтаксический контроль программ.
- •§ 2.30. Управляющие структуры
- •2.30.1. Понятие об управляющих структурах.
- •2.30.2. Операторы цикла.
- •2.30.3. Операторы ветвления.
- •2.30.4. Прочие операторы.
- •§ 2.31. Работа с файлами
- •2.31.1. Общие замечания.
- •2.31.2. Подготовка файла к работе.
- •2.31.3. Завершение работы с файлами.
- •2.31.4. Контроль за исчерпанием данных.
- •2.31.5. Чтение из текстового файла.
- •2.31.6. Анализ ошибок в файловых операциях.
- •§ 2.32. Форматный ввод-вывод данных
- •2.32.1. Форматные преобразования (sprintf, sscanf).
- •2.32.2. Форматные преобразования при работе с файлами (fprintf, fscanf).
- •§ 2.33. Рекурсивные файл-функции. Производительность файл-функций
- •2.33.1. Понятие о рекурсивных файл-функциях.
- •2.33.2. Оценка производительности файл-функции.
- •§ 2.34. Файл-функции с переменным числом входных параметров и выходных значений
- •§ 2.35. Диалоговые программы
- •2.35.1. Ввод числовых и символьных данных.
- •2.35.2. Вывод результатов вычислений.
- •§ 2.36. Анимационные эффекты
- •§ 2.37. Контроль входных и выходных параметров файл-функции
- •§ 2.38. Отладка программы
- •2.38.1. Понятие о способах отладки программы.
- •2.38.2. Рекомендации по созданию и отладке программ.
- •Часть 7. Создание программ с визуальным интерфейсом
- •§ 2.39. Понятие о графическом интерфейсе пользователя (gui)
- •2.39.1. Предварительные замечания.
- •2.39.2. Основные команды для создания gui.
- •§ 2.40. Общие сведения о визуальной среде guide
- •§ 2.41. Программирование событий в matlab
- •§ 2.42. Свойства основных компонентов в matlab
- •§ 2.43. Диалоговые окна в matlab
- •§ 2.44. Динамическое создание компонентов
- •§ 2.45. Создание меню
- •§ 2.46. Некоторые рекомендации по созданию приложений с графическим интерфейсом пользователя
2.29.3. Создание файл-программ.
В качестве примера составим файл-программу
построения графика поверхности
при
,
.
Воспользуемся для этой цели редактором
M-файлов, входящим в систему
MATLAB. Для создания программы
выполним перечисленные ниже действия.
Ввод операторов. В главном меню следует выбрать пункт New, и далее в ниспадающем меню указать Script (для файл-программы, как в рассматриваемом примере) или Function (для файл-функции), в результате чего откроется окно редактора M-файлов (рис. 2.29.1).
В окне следует ввести приведенную ниже последовательность команд:
x=-2:0.05:2;
[X,Y]=meshgrid(x);
Z=sqrt(X.^2+Y.^2);
surf(X,Y,Z)
Заметим, что почти каждая из команд в программе завершается точкой с запятой, что позволяет предотвратить вывод в командное окно результатов выполнения отдельных команд при выполнении программы.
При создании M-файлов каждый оператор для удобства визуального восприятия целесообразно записывать в отдельной строке. Для перехода к следующей строке необходимо нажать клавишу Enter. Длинное выражение можно разместить в нескольких строк, причем для разделения выражения на несколько строк применяется символ многоточия (...). Если в конце какой-либо строки, содержащей длинное выражение поставить многоточие и нажать Enter, то ввод выражения можно будет продолжить с новой строки.
При необходимости отдельные части программы можно дополнять комментариями, помогающими впоследствии вспомнить назначение той или иной команды и/или программы в целом. Комментарием считается строка программы, которая начинается со знака процента (%), расположенного в первой позиции строки. Комментарии можно вводить либо в отдель-
Рис. 2.29.1. Окно редактора M-файлов системы MATLAB.
ную строку (или несколько строк), либо добавлять после операторов. Строки с комментариями при выполнении программы игнорируются. Так, например, рассматриваемую программу можно снабдить комментариями:
% Создание массивов координат точек трехмерной поверхности
x=-2:0.05:2;
[X,Y]=meshgrid(x);
Z=sqrt(X.^2+Y.^2);
% Визуализация трехмерной поверхности
surf(X,Y,Z)
Следует обратить внимание на возможность (нерекомендуемую) задания комментария на русском языке (предпочтительнее использовать английский язык или транслит).
Отметим, что строки с комментариями, расположенные перед первым выполняемым оператором файл-программы, воспринимаются системой MATLAB как описание файл-программы. Это описание отобразится в командном окне, если ввести команду
help имя_M-файла
Создание файл-программ. Завершив ввод файл-программы, ее следует сохранить, например, в текущем каталоге MATLAB. Для этого в главном меню следует выбрать пункт Save и далее в ниспадающем окне указать Save As. В результате в появившемся диалоговом окне Select File for Save As раскроется каталог MATLAB папки Документы, который по умолчанию определен в качестве текущего рабочего каталога. В поле Имя файла следует ввести имя файл-программы (например, sample) вместо появившегося по умолчанию Untitled. В поле Тип файла автоматически отобразиться требуемый тип файлов – MATLAB Code files (*.m), его изменять не следует (рис. 2.29.2).
Рис. 2.29.2. Диалоговое окно Select File for Save As.
Таким образом, создаваемый файл может иметь произвольное имя, но фиксированное расширение, состоящее из одной буквы m. Любой текстовый файл, содержащий произвольный код на M-языке и имеющий оговоренное выше расширение принято называть M-файлом. Заметим, что созданный M-файл, разумеется, можно сохранить не только в текущем, но и в любом другом каталоге (это касается как файл-программ, так и файл-функций), однако в таком случае необходимо будет установить пути поиска, ведущие к этому файлу. Для этого следует в главном меню следует выбрать пункт Set Path, с помощью которого вызывается диалоговое окно с тем же именем (рис. 2.29.3). В этом окне отображается список всех зарегистрированных в системе MATLAB путей доступа. Для добавления нового каталога в список путей доступа служит кнопка Add Folder... этого окна, которая, в свою очередь, порождает целый ряд дополнительных диалоговых окон, работа с которыми достаточно очевидна. После того, как в список путей доступа добавлен новый каталог, в нем можно сохранить файл с созданной в редакторе файл-программой.
Выполнение файл-программ. Выполнить созданную файл-программу можно выбрав в главном меню пункт Run и далее в ниспадающем окне указать Run: Sample. В результате выполнения файл-программы на экране отобразится окно с графиком заданной поверхности (рис. 2.29.4).
Альтернативным способом запуска файл-программы на исполнение является ввод в командном окне имени M-файла, содержащего текст файл-программы (при этом явно указывать расширение нельзя, так как это приведет к возникновению ошибочной ситуации) и нажатие клавиши Enter.
При работе с редактором M-файлов имеется возможность запустить на выполнение только часть команд, из которых состоит M-файл. Для этого
Рис. 2.29.3. Диалоговое окно Set Path.
Рис. 2.29.4. График поверхности.
нужно выделить, например, с помощью мыши, требуемый блок команд и нажать на пункт Run Section главного меню.
После выполнения файл-программы в рабочем пространстве становятся доступными все переменные, которые были в ней определены. В этом можно убедиться, взглянув на окно Workspace на рабочем столе системы
MATLAB, либо введя в командное окно команду whos.
Редактирование файл-программ. Для изменения созданного M-файла, (например в целях модифицирования поверхности, создание которой рассматривалось выше, либо для задания иных интервалов ее построения), требуется внести соответствующие изменения в текст программы и вновь запустить файл-программу. Сохранить изменения текущего файла можно, выбрав пункт Save и далее в ниспадающем окне указать Save.
