
- •Тема 1. Назначение и структура matlab
- •2.Сравнение matlab с другими математическими пакетами
- •3.Интерфейс пользователя пакета matlab
- •4.Шесть основных компонент интерфейса пользователя matlab
- •6.Восстановление расположения окон интерфейса matlab
- •7.Назначение окна Command Window
- •8.Назначение окна Workspace Browser
- •9.Назначение окна Current Directory
- •Назначение окна Command History
- •Назначение окна Figure
- •Назначение окна m-file Editor
- •Назначение Help & Demo
- •Интерактивный режим работы.
- •Составные части командного окна Command Window.
- •Приглашающий символ командной строки.
- •Разделение логической команды на несколько физических строк.
- •Получение интерактивной справки.
- •Вывод списка всех переменных рабочего пространства Workspace.
- •4) 2.4.1. Вектор-строки
- •5) При задании матрицы
- •Операторы управления: операторы ветвления и операторы цикла
- •Условный оператор if
- •Оператор переключения switch
- •Оператор for
- •Оператор цикла while
- •Операторы break,continue
- •Векторизация алгоритма
- •Обработка исключительных ситуаций
- •Тема 4.
- •Режимы работы MatLab
- •Типы м-файлов
- •Различия между м-сценарием и м-функцией
- •Как создать функцию в MatLab
- •Типовая структура м-файла
- •Оператор заголовка функции
- •Входные/выходные параметры функции
- •Что является признаком конца функции
- •Как оформить комментарий
- •Типы функций
- •Первичные функции
- •Подфункции
- •13Анонимные функции
- •14 Частные функции
- •15 Видимость имен функций
- •16 Проверка параметров m-функций
- •19. Устойчивые переменные
- •20 Перегрузка функции
- •21 Отладка m-функций
- •7) 5.3. Методы класса
- •13. Вывод на печать display
- •14.Дифференцирование и интегрирование: diff, int
- •15. Вычисление корней полинома
- •7) Гистограммы
- •8) Изменение свойств линии
- •9)Трехмерная графика
- •15 Вопрос
- •Пример чтения графического файла
- •Тема 7. Основы дескрипторной графики.
- •5.Графический объект Root
- •6. Графический объект Figure
- •7. Графический объект Axes
- •Тема 10
13Анонимные функции
Анонимные функции – это простая форма функции MATLAB , не требующая создания M-файла. Она состоит из единственного выражения MATLAB и любого числа входных и выходных параметров. Определить анонимную функцию можно непосредственно в командной строке ко-мандного окна MATLAB , а также внутри М- файла. Это обеспечивает возможность быстрого создания простых функций без необходимости создания дополнительногоM-файла. Синтаксис определения анонимной функции из выражения следующий: f= @(arglist)expression Представленная ниже команда создает анонимную функцию, которая вычисляет квадрат числа. При вызове этой функции MATLAB присваивает передаваемое значение переменной x и затем использует x в выражении x.^2:sqr= @(x)x.^2; Используется описанная функция следующим образом: a=sqr(5) a= 25
14 Частные функции
Частная функция – это разновидность первичной функции M - файла. Ее особенностью является то, что она видима только для ограниченной группы функций. Данный тип функций удобен, если необходимо ограничить доступ к функции. Частные функции размещаются в подкаталогах со специальным именем private. Они являются видимыми только функциям, находящимся в каталоге предыдущего уровня. Например, текущий каталог Current Directory MATLAB установлен на каталог newmath. Подкаталог каталога newmath , названный private , содержит функции, которые могут вызываться только функциями из newmath. Поскольку частные функции видимы только в каталоге предыдущего уровня, они могут использовать те же самые имена, что и функции в других каталогах. Это удобно при создании собственной версии определенной функции, поскольку оригинал сохранен в другом каталоге. Так как MATLAB в первую очередь ищет частные функции и только после этого стандартные функции M - файла, то, например, вместо нечастной функции с именем test .m он найдет частную функцию test . m.
15 Видимость имен функций
Когда пользователь вводит в командной строке какое -либо имя, например name, MATLAB выполняет действия в следующей последовательности:
1) ищет указанное имя среди переменных ;
2) ищет в текущем каталоге файл с именем name .m;
3) просматривает каталоги, указанные в пути поиска SearchPath , для поиска файла name .bi (встроенные функции) или name.m.
Если существует более одной функции с одним и тем же именем, то порядок каталогов в пути поиска SearchPath определяет, какая функция будет вызвана. MATLAB вызывает первую найденную функцию. Для того чтобы вызвать функцию из каталога, расположенного дальше в пути поиска, следует сделать этот каталог текущим. При запуске M-сценария можно указать полный путь к соответствующему M-файлу.
16 Проверка параметров m-функций
Несовпадение типов, размеров и числа фактических и формальных параметров в M-функции приводит к их неправильной работе. Желательно встраивать внутрь кода M-функций проверки входных параметров, так как пользователь M-функции всегда может ошибиться при ее вызове. Такие проверки приводят к тому, что функцию можно вызвать только с правильным числом входных параметров и возвращаемых значений. В случае, когда функция допускает многовариантность работы при разном числе входных аргументов и возвращаемых значений (как многие встроенные функции системы MATLAB ), необходимо при проверках их числа вместо прекращения работы функции осуществлять переход на разные ветви выполнения. В определении функции при этом нужно использовать максимально используемое в теле функции число формальных входных и выходных параметров. Степень подробности проверок зависит от предназначения функции. Если предполагается передача функции для внешнего использования, то проверки необходимо сделать более строгими, а текст подсказки, выводимый в командное окно по команде help, более подробным. Таблица
Функции MATLAB для работы аргументами
nargchk Проверка количества входных аргументов
nargin Проверка количества входных аргументов
nargout Проверка количества выходных аргументов
varargin Список входных аргументов переменной длины
varargout Список выходных аргументов переменной длины
inputname Определение имени переменной по номеру входного аргумента М-функции
17-18 Переменные и их область действия
Область действия (scope rules ) переменной – это правила, которые устанавливают, какие данные доступны из данного места программы. В языке MATLAB каждая функция–это отдельный блок программы. Попасть в тело функции нельзя иначе, как через вызов данной функции. С точки зрения области действия переменных различают три типа переменных: глобальные, локальные и формальные параметры. Правила области действия определяют, где каждая из них может применяться.. Локальные переменные–это переменные, объявленные внутри функции. Формальные параметры– это переменные, объявленные при описании функции как ее аргументы. Глобальные переменные в языке MATLAB–это переменные, объявленные при помощи ключевого слова global : global name_1, name _2, …
Как правило, каждая М-функция использует локальные переменные, которые изолированы от переменных других функций и рабочей области. Функция располагает собственным, изолированным от рабочего пространства системы MATLAB, пространством переменных. Внутри функции не видны переменные, определенные в командном окне MATLAB , – они являются внешними по отношению к функции.