Основы языка программирования matlab. Простейшие арифметические действия. Сохранение рабочей среды. Mat файлы

ТАМБОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ


КАФЕДРА

«Информационные процессы и управление»

Методическая разработка

для проведения лабораторного занятия №1

по дисциплине "Теория принятия решений"

Наименование дисциплины

наименование темы

Тема: Исследование методов одномерной оптимизации

Цель работы:

Изучение методов одномерной оптимизации и способов их алгоритмической реализации в среде многофункциональной интегрированной системы автоматизации математических и научно-технических расчетов MATLAB 7.1;

Сравнительная оценка по объему вычислительных затрат методов: прямого сканирования, дихотомии, «золотого сечения» и метода Фибоначчи.

Литература:

1. Аоки М. Введение в методы оптимизации. М.: Наука, 1977. 444 с.

2. Батищев Д.И. Методы оптимального проектирования. М.: «Радио и связь», 1984. 248 с.

3. Бодров В.И., Лазарева Т.Я., Мартемьянов Ю.Ф. Математические методы принятия решений: Учеб. пособие. Тамбов: Изд-во Тамб. гос. тех. ун-та, 2004. 124 с.

4. Полак Э. Численные методы оптимизации. М.: Мир, 1997. 376 с.

5. Химмельблау Д. Прикладное нелинейное программирование. М.: Мир, 1975. 534 с.

6. Юдин Д.Б. Вычислительные методы теории принятия решений. М.: Наука, 1989. 316 с.

7. Кетков Ю. Л., Кетков А. Ю., Шульц М. М. MATLAB 7: программирование, численные методы. - СПб.: БХВ-Петербург, 2005. - 752 с

По проведению занятия

Лабораторные занятия по дисциплине "Теория принятия решений" проводятся с целью углубления и закрепления теоретических знаний, полученных студентами на различных видах занятий и в процессе самостоятельного изучения учебного материала, приобретения ими навыков практической реализации математических методов принятия решений. По результатам лабораторных занятий студенты должны

Теоретический материал, на основе которого осуществлялось моделирование, а также суть формализованных в программах физических процессов;

Основные методы моделирования соответствующих процессов;

Выполнять выбор и оценку влияния основных параметров на результат моделирования;

Анализировать и обобщать полученные результаты.

Выполнение лабораторной работы включает в себя три этапа: предварительную подготовку к лабораторному занятию, непосредственно занятие, отчетность по лабораторному занятию.

Занятие преследует цель показать связь теоретического материала с практикой и научить студентов применять теорию к решению практических задач.

Лабораторные работы построены таким образом, что они не предполагают знание студентами MATLAB. Каждая лабораторная работа начинается с краткого описания MATLAB, где студенту даются краткие сведения, необходимые для выполнения данной работы.

Подготовка к занятию

Накануне занятия студенты должны:

Ознакомится с руководством по данному лабораторному занятию;

Повторить лекционный материал и изучить предлагаемую литературу по данной теме;

Изучить порядок выполнения работы;

Подготовиться к ответу на контрольные вопросы.

Порядок проведения занятия

В вводной части занятия осуществляется прием учебной группы, дается связь с ранее изученным материалом, объявляются тема, цель, порядок и особенности проведения данного занятия, проверяется подготовленность учебной группы к занятию.

Далее студенты приступают к проведению исследований в соответствии с методикой. По всем неясным вопросам, касающимся лабораторного занятия, студенты должны обращаться к преподавателю, инженерно-техническому составу или инструктору компьютерного класса. Результаты исследований и выводы оформляются в виде отчета по лабораторному занятию. Отчет является рабочим документом студента и представляется ведущему преподавателю во время защиты. Далее производится защита отчетов по лабораторному занятию, а по окончанию - подведение итогов занятия.

Отчетность по занятию

По лабораторному занятию студенты должны получить зачет. Принцип отчетности индивидуальный и может проводиться устно или письменно после выполнения основной части занятия. При выставлении зачетной оценки учитываются: наличие, грамотность и аккуратность оформления бланка-отчета, качество выполнения лабораторной работы, результаты ответов на контрольные вопросы. Студенты, не получившие зачет и отсутствующие на данном лабораторном занятии, отчитываются по нему в личное время.

Краткая характеристика MATLAB

Система MATLAB (Matrix Laboratory) состоит из большого количества специальных программ, позволяющих решать широкий спектр математических и технических задач из разных областей науки. Главный ее элемент – это ядро системы MATLAB. В дополнение к нему система содержит около 80-ти различных комплектов команд (т.н. "Toolboxes"), соответствующие различным разделам математики, математической физики, проектирования, связи, экономики и т.д. В данной работе используются базовые средства программирования MATLAB: М-файлы – функции, встроенные функции, операторы, команды и т.п.

Рис.1. Рабочий стол системы

На рис.1 представлен рабочий стол системы. Строка меню (File, Edit, и т.д.) во многом схожа с аналогичной строкой редактора Microsoft Word. Расположенный ниже ряд иконок также выполняют те же операции, что и в редакторе Word (за исключением 3-х последних). Рабочий стол системы состоит их нескольких окон, состав которых можно менять с помощью команд меню Desktop. На рис.1 в верхнем окне слева приводится содержимое рабочего пространства Workspace , куда помещены описания всех констант и функций, введенных пользователем в процессе работы. В нижнем окне Command History приводится последовательность выполненных команд. Размеры окон регулируются перетаскиванием границы с помощью мыши. Главное окно рабочего стола – Command Window (командное окно). В командном окне после знака ">>" набирается командная строка, которая выполняется после нажатия клавиши "Enter ".

MATLAB позволяет создавать программные файлы, аналогичные другим языкам программирования высокого уровня. Наряду с тем, он обладает свойствами мощного программируемого калькулятора. В данной работе программная реализация алгоритмов поиска осуществляется с помощью M – файлов-функций, а запуск программ и ввод исходных данных может производиться из командного окна.

Формат числа задается меню File (рис.1) в разделе Preferences с помощью функции Numeric Format. Наиболее часто используемыми из 12-ти возможных являются форматы Short и Long – краткая и длинная форматы чисел.

Одними изосновных понятий MATLAB являются переменные и утверждения .

Переменная обозначается одной буквой или набором букв и цифр, начинающимся с буквы. Число букв и цифр в наборе в сумме не должно превышать девятнадцать. Утверждение имеет следующую форму:

>>переменная=выражение

При введении утверждения переменной присваивается выражение, которое стоит за знаком равенства, или, если оно включает какие-либо математические операции, то результат, который получается после выполнения этих операций. Вводить утверждение можно в М-файле или в командном окне программы MATLAB. Знак «>>» является командной подсказкой, появление которой на экране дисплея в командном окне указывает на то, что утверждения можно вводить.

Основные арифметические операторы приведены в табл.1.1. При выполнении вычислений в командном окне после нажатия клавиши "Enter " результат присваивается параметру "ans ", если соответствующему выражению не присвоено имя, или его имени - в противном случае (имена переменных, констант и функций должны начинаться с буквы (буквы латинские), могут содержать цифры и символ подчеркивания). Для блокировки вывода результата вычислений некоторого выражения после него надо установить знак; (точка с запятой).

Таблица 1.1

Пусть, например, требуется вычислить выражение и результат присвоить переменной х . В этом случае утверждение (программа) будет иметь следующий вид (в десятичных дробях целая часть от дробной отделяется точкой):

>> x=log(1+5*((log10(100))^2-0.2*pi)/sqrt(1+2.71828^3))

После введения утверждения, т.е. нажатия клавиши Enter, ниже сразу выдается результат. Если результат нужно заблокировать, т.е. не надо выдавать на экран дисплея, то в конце утверждения нужно поставить знак « ; » (точку с запятой). Предыдущее выражение можно представить и в иной форме:

>> a=(log10(100))^2;

>> b=sqrt(1+2.71828^3);

>> x=log(1+5*(a-0.2*pi)/b)

MATLAB имеет несколько встроенных переменных: pi, eps, inf, i и j. Переменная pi обозначает число , eps =2 -52 =2.2204*10 -16 – погрешность для операций над числами с плавающей точкой, inf - бесконечность (), i и j – мнимую единицу (i = j = ).

Когда аргумент слева не указан, результат выражения присваивается общей переменной ans.

Операторы отношения (табл. 1.2) используются в условных операторах, операторах цикла и т.п. при реализации алгоритмов поиска с использованием М-функций (подпрограммы-функции записываются в файлах с расширением.m).

Таблица 1.2

Итак, программами в системе MATLAB являются М-файлы текстового формата, содержащие запись программ в виде программных кодов.

Входной язык MATLAB насчитывает всего 9 операторов, использующих 14 служебных слов. Соответствующие синтаксические конструкции приведены в табл. 1.3.

Таблица 1.3

Формат оператора Пояснение
var = expr Оператор присваивания. Вычисляет значения выражения expr и заносит результаты вычислений в переменную var
ifусловие_1 операторы_1 end Условный оператор. Если справедливо условие_1, то выполняется группа операторы_1, если справедливо условие_2, то выполняется группа операторы_2, ... Если все указанные условия оказываются ложными, то выполняются операторы, расположенные между else и end
switchexpr casevail операторы_1 caseval2 операторы_2 . . . . . . . . . [ othervise операторы] end Переключатель по значению выражения expr. Если оно совпадает с величиной vail , то выполняется группа операторы_1, если оно совпадает с величиной val2, то выполняется группа операторы_2, ... Если значение expr не совпадает ни с одной из перечисленных величин, то выполняются операторы, расположенные между othervise и end
forvar=el:e3 операторы end Цикл типа арифметической прогрессии, в котором переменная var при каждом повторении тела цикла изменяется от начального значения el с шагом е2 до конечного значения еЗ
whileусловие операторы end Цикл с предусловием, повторяющийся до тех пор, пока истинно указанное условие
try операторы_1 catch операторы 2 end Попытка выполнить группу операторы_1. При условии, что в результате их выполнения возникает исключительная ситуация, управление передается группе операторы_2 (обработка сбойных ситуаций). Если ошибка не возникла, то группа операторы_2 не выполняется
break Досрочный выход из управляющих конструкций типа for , while, switch, try - catch
function f1 function f2 (x1,х2, . . .) function y=f3(xl,x2,...) function =f4(xl,x2,. . .) Заголовок функции (xl, х2, ... - входные параметры; y, yl, у2, ... -выходные параметры)
return Досрочный выход из тела функции

При написании программ-функций требуется, чтобы имя М-файла, в котором запоминается программа, обязательно совпадало с именем функции.

Все переменные, появляющиеся в теле функции, за исключением глобальных переменных (объявленных оператором global), входных и выходных параметров, считаются локальными. Они образуют локальное рабочее пространство и доступны только в теле породившей их функции, и никакие другие функции воспользоваться ими не могут.

Язык MATLAB не содержит оператора goto . В связи с этим в текстах m-файлов отсутствуют метки операторов. Для идентификации строк, в которых возникают аварийные ситуации, используются внутренние номера, присваиваемые системой автоматически.

Большинство разработчиков с трудом представляет, как его синтаксис, так и возможности. Всё дело в том, что язык напрямую связан с популярным программным продуктом, стоимость которого может достигать потрясающих воображение значений. Итак, главный вопрос: так ли хорош непосредственно язык Matlab? И может ли он быть полезен именно вам.

Использование

Начнём не со стандартного экскурса в историю и обсуждения плюсов и минусов языка, а с программной среды MATLAB/Simulink - единственного места, где герой этого текста может быть полезен. Просто представьте себе графический редактор, в котором вы сможете реализовать любую свою задумку, не имея за плечами нескольких лет опыта и соответствующего образования. И создав один раз схему взаимодействия инструментов, получить качественный скрипт для многократного использования.

MATLAB - именно такой редактор в мире данных. Область его применения безгранично широка: IoT, финансы, медицина, космос, автоматика, робототехника, беспроводные системы и многое-многое другое. В общем почти неограниченные возможности по сбору и визуализации данных, а также прогнозированию, но только если есть возможность купить соответствующий пакет.

Что касается цены, то в верхней границы почти нет, а вот нижняя находится в район 99$. Чтобы урвать столь мощный продукт за относительно небольшие деньги, вам необходимо быть студентом ВУЗа. И конечно же вы получите довольно ограниченный продукт.

Особенности языка

Язык MATLAB - инструмент, обеспечивающий взаимодействие оператора (часто даже не программиста) со всеми доступными возможностями анализа, сбора и представления данных. У него есть очевидные плюсы и минусы, свойственные языку живущему в замкнутой экосистеме.

Недостатки:

    Медленный и перегруженный операторами, командами, функциями язык, основной целью которого является улучшение визуального восприятия.

    Узконаправленный. Нет никакой больше программной платформы, где бы MATLAB был полезен.

    Дороговизна ПО. Если вы не студент - либо готовьтесь опустошить карманы или перейти границу закона. И даже если студент - цена приличная.

    Невысокий спрос. Несмотря на большой интерес к MATLAB практически во всех сферах, фактически и легально его используют лишь немногие.

Достоинства:

    Язык легок для изучения, обладает простым и понятным синтаксисом.

    Огромные возможности. Но это скорее преимущество всего продукта в целом.

    Частые обновления, как правило заметные положительные преобразования происходят не реже пары раз в год.

    Программная среда позволяет преобразовывать его в “быстрый” код на С, С++.

Целевая аудитория

Разумеется, MATLAB нужен далеко не всем. Несмотря на широчайшую область применения, трудно представить, что рядовому разработчику приложений может понадобиться знание этого языка. MATLAB крайне полезен в областях, требующих особой надёжности при обработке данных, например, в системах автопилота в автомобилях или бортовых электронных системах самолёта.

То есть если вы не очень программист, но так или иначе ваша профессия связана с необходимостью программной обработки данных, то продукт MATLAB/Simulink с соответствующим языком способны сильно упростить ваши каждодневные задачи.

Литература

Завершаем обзор языка как всегда списком учебной литературы. Само-собой среди них вы не отыщите книг исключительно по языку, но от этого восприятие языка будет только проще:

А у вас есть опыт работы с MATLAB? И какой?

Для тех, кто хочет стать программистом - .

Введение

MATLAB (сокращение от англ. «Matrix Laboratory» ) - пакет прикладных программ для решения задач технических вычислений и одноимённый язык программирования, используемый в этом пакете. MATLAB ® используется более чем 1 000 000 инженерными и научными работниками, он работает на большинстве современных операционных систем.

MATLAB как язык программирования был разработан Кливом Моулером в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико . Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана . Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года , написанную на Фортране, распространяемую с открытым исходным кодом . Инженер Джон Литтл (англ. John N . (Jack ) Little ) познакомился с этим языком во время визита Клива Моулера в Стэнфордский университет в 1983 году . Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом (англ. Steve Bangert ). Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов .

Язык MATLAB является высокоуровневым интерпретируемымязыком программирования, включающим основанные наматрицахструктуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.

Программы, написанные на MATLAB, бывают двух типов - функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов.

Основной особенностью языка MATLAB являются его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге «думай векторно»

MATLAB предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающие практически все области математики, в частности:

    Матрицыи линейная алгебра - алгебра матриц,линейные уравнения,собственные значения и вектора,сингулярности, факторизация матриц и другие.

    Многочленыиинтерполяция-корнимногочленов, операции над многочленами и ихдифференцирование, интерполяция иэкстраполяциякривыхи другие.

    Математическая статистикаи анализ данных - статистические функции,статистическая регрессия,цифровая фильтрация,быстрое преобразование Фурьеи другие.

    Обработка данных - набор специальных функций, включая построение графиков,оптимизацию, поискнулей,численное интегрирование(в квадратурах) и другие.

    Дифференциальные уравнения- решение дифференциальных идифференциально-алгебраических уравнений, дифференциальных уравнений с запаздыванием, уравнений с ограничениями, уравнений вчастных производныхи другие.

    Разреженные матрицы - специальный класс данных пакета MATLAB, использующийся в специализированных приложениях.

    Целочисленная арифметика - выполнение операций целочисленной арифметики в среде MATLAB.

1. Базовые сведения

1.1. Рабочая среда MatLab

Чтобы запустить программу дважды щелкните на иконку . Перед Вами откроется рабочая среда, изображенная на рисунке.

Рабочая среда MatLab 6.х содержит следующие элементы:

    панель инструментов с кнопками и раскрывающимся списком;

    окно с вкладкамиLaunch Pad иWorkspace , из которого можно получить доступ к различным модулям ToolBox и к содержимому рабочей среды;

    окно с вкладками Command History иCurrent Directory , предназначенное для просмотра и повторного вызова ранее введенных команд, а также для установки текущего каталога;

    командное окно, в котором находится приглашение к вводу » и мигающий вертикальный курсор;

    строку состояния.

Если в рабочей среде MatLab 6.х отсутствуют некоторые окна, приведенные на рисунке, то следует в меню View выбрать соответствующие пункты: Command Window , Command History , Current Directory , Workspase , Launch Pad .

Команды следует набирать в командном окне. Символ », обозначающий приглашение к вводу командной строки, набирать не нужно. Для просмотра рабочей области удобно использовать полосы скроллинга или клавиши Home ,End , для перемещения влево или вправо, иPageUp ,PageDown для перемещения вверх или вниз. Если вдруг после перемещения по рабочей области командного окна пропала командная строка с мигающим курсором, просто нажмитеEnter .

Важно помнить, что набор любой команды или выражения должен заканчиваться нажатием на Enter , для того, чтобы программа MatLab выполнила эту команду или вычислила выражение.

1.2. Простейшие вычисления

Наберите в командной строке 1+2и нажмитеEnter . В результате в командном окне MatLab отображается следующее:

Рис. 2 Графическое представление метода главных компонент

Что сделала программа MatLab? Сначала она вычислила сумму 1+2, затем записала результат в специальную переменнуюansи вывела ее значение, равное3, в командное окно. Ниже ответа расположена командная строка с мигающим курсором, обозначающая, что MatLab готов к дальнейшим вычислениям. Можно набирать в командной строке новые выражения и находить их значения. Если требуется продолжить работу с предыдущим выражением, например, вычислить(1+2)/4.5, то проще всего воспользоваться уже имеющимся результатом, который хранится в переменнойans. Наберитеans/4.5(при вводе десятичных дробей используется точка) и нажмитеEnter , получается

Рис. 3 Графическое представление метода главных компонент

1.3. Эхо команд

Выполнение каждой команды в MatLab сопровождается эхом. В приведенном выше примере - это ответ ans = 0.6667. Часто эхо затрудняет восприятие работы программы и тогда его можно отключить. Для этого команда должна завершаться символом точка с запятой. Например

Рис. 4 Пример ввода функции ScoresPCA

1.4. Сохранение рабочей среды. Mat файлы

Самый простой способ сохранить все значения переменных - использовать в меню File пунктSave Workspase As . При этом появляется диалоговое окноSave Workspase Variables , в котором следует указать каталог и имя файла. По умолчанию предлагается сохранить файл в подкаталогеworkосновного каталога MatLab. Программа сохранит результаты работы в файле с расширениемmat. Теперь можно закрыть MatLab. В следующем сеансе работы для восстановления значений переменных следует открыть этот сохраненный файл при помощи подпунктаOpen менюFile . Теперь все переменные, определенные в прошлом сеансе, опять стали доступными. Их можно использовать во вновь вводимых командах.

1. Урок 23. Знакомство с пакетами расширения MATLAB

Урок №23.

Знакомство с пакетами расширения МАТLАВ

    Вывод списка пакетов расширения

    Simulinc for Windows

    Пакет символьной математики

    Пакеты математических вычислений

    Пакеты анализа и синтеза систем управления

    Пакеты идентификации систем

    Дополнительные средства пакета Simulinc

    Пакеты для обработки сигналов и изображений

    Прочие пакеты прикладных программ

В этом уроке мы кратко ознакомимся с основными средствами профессионального расширения системы и ее адаптации под решение определенных классов математических и научно-технических задач - с пакетами расширения системы MATLAB. Несомненно, что хотя бы части из этих пакетов должен быть посвящен отдельный учебный курс или справочник, быть может, и не один. За рубежом по большинству таких расширений опубликованы отдельные книги, а объем документации по ним составляет сотни мегабайт. К сожалению, объем данной книги позволяет лишь немного пройтись по пакетам расширения, с тем чтобы дать читателю представление о том, в каких направлениях развивается система.

2. Вывод списка пакетов расширения

Вывод списка пакетов расширения

Полный состав системы MATLAB 6.0 содержит ряд компонентов, название, номер версии и дату создания которых можно вывести на просмотр командой ver:

MATLAB Version 6.0.0.88 (R12) on PCWIN MATLAB License Number: 0

MATLAB Toolbox

Version 6.0

06-0ct-2000

Version 4.0

Version 4.0

04-0ct-2000

Stateflow Coder

Version 4.0

04-0ct-2000

Real -Time Workshop

Version 4.0

COMA Reference Blockset

Version 1.0.2

Communications Blockset

Version 2.0

Communications Toolbox

Version 2.0

Control System Toolbox

Version 5.0

DSP Blockset

Version 4.0

Data Acquisition Toolbox

Version 2.0

05-0ct-2000

Database Toolbox

Version 2.1

Datafeed Toolbox

Version 1.2

Dials & Gauges Blockset

Version 1.1

Filter Design Toolbox

Version 2.0

Financial Derivatives Toolbox

Version 1.0

Financial Time Series Toolbox

Version 1.0

Financial Toolbox

Version 2.1.2

Fixed-Point Blockset

Version 3.0

Fuzzy Logic Toolbox

Version 2.1

GARCH Toolbox

Version 1.0

Image Processing Toolbox

Version 2.2.2

Instrument Control Toolbox

Version 1.0

LMI Control Toolbox

Version 1.0.6

MATLAB Compiler

Version 2.1

MATLAB Report Generator

Version 1.1

Mapping Toolbox

Version 1.2


Version 1.0.5

Motorola DSP Developer"s Kit

Version 1.1

Ol-Sep-2000

Ми-Analysis and Synthesis Toolbox

Version 3.0.5

Neural Network Toolbox

Version 4.0

Nonlinear Control Design Blockset

Version 1.1.4

Optimization Toolbox

Version 2.1

Partial Differential Equation Toolbox

Version 1.0.3

Power System Blockset

Version 2.1

Real -Time Workshop Ada Coder

Version 4.0

Real -Time Workshop Embedded Coder

Version 1.0

Requirements Management Interface

Version 1.0.1

Robust Control Toolbox

Version 2.0.7

SB2SL (converts SystemBuild to Simu

Version 2.1

Signal Processing Toolbox

Version 5.0

Simulink Accelerator

Version 1.0

Model Differencing for Simulink and...

Version 1.0

Simulink Model Coverage Tool

Version 1.0

Simulink Report Generator

Version 1.1

Spline Toolbox

Version 3.0

Statistics Toolbox

Version 3.0

Symbolic Math Toolbox

Version 2.1.2


Version 5.0

Wavelet Toolbox

Version 2.0

Version 1.1

xPC Target Embedded Option

Version 1.1

Обратите внимание, что практически все пакеты расширения в MATLAB 6.0 обновлены и датируются 2000 годом. Заметно расширено их описание, которое в PDF-формате уже занимает много более десятка тысяч страниц. Ниже дано краткое описание основных пакетов расширения

3. Simulink for Windows

Simulink for Windows

Пакет расширения Simulink служит для имитационного моделирования моделей, состоящих из графических блоков с заданными свойствами (параметрами). Компоненты моделей, в свою очередь, являются графическими блоками и моделями, которые содержатся в ряде библиотек и с помощью мыши могут переноситься в основное окно и соединяться друг с другом необходимыми связями. В состав моделей могут включаться источники сигналов различного вида, виртуальные регистрирующие приборы, графические средства анимации. Двойной щелчок мышью на блоке модели выводит окно со списком его параметров, которые пользователь может менять. Запуск имитации обеспечивает математическое моделирование построенной модели с наглядным визуальным представлением результатов. Пакет основан на построении блочных схем путем переноса блоков из библиотеки компонентов в окно редактирования создаваемой пользователем модели. Затем модель запускается на выполнение. На рис. 23.1 показан процесс моделирования простой системы - гидравлического цилиндра. Контроль осуществляется с помощью виртуальных осциллографов - на рис. 23.1 видны экраны двух таких осциллографов и окно простой подсистемы модели. Возможно моделирование сложных систем, состоящих из множества подсистем.

Simulink составляет и решает уравнения состояния модели и позволяет подключать в нужные ее точки разнообразные виртуальные измерительные приборы. Поражает наглядность представления результатов моделирования. Ряд примеров применения пакета Simulink уже приводился в уроке 4. Предшествующая версия пакета достаточно подробно описана в книгах. Основным нововведением является обработка матричных сигналов. Добавлены отдельные пакеты повышения производительности Simulink, такие как Simulink Accelerator для компиляции кода моделей, Simulink profiler для анализа кода и т. д.

Рис. 23.1. Пример моделирования системы гидравлического цилиндра с помощью расширения Simulink

1.gif

Изображение:

1b.gif

Изображение:

4. Real Time Windows Target и Workshop

Real Time Windows Target и Workshop

Подключающаяся к Simulink мощная подсистема имитационного моделирования в реальном масштабе времени (при наличии дополнительных аппаратных средств в виде плат расширения компьютера), представленная пакетами расширения Real Time Windows Target и Workshop, - мощное средство управления реальными объектами и системами. Кроме того, эти расширения позволяют создавать исполняемые коды моделей. Рис. 4.21 в уроке 4 показывает пример такого моделирования для системы, описываемой нелинейными дифференциальными уравнениями Ван-дер-Поля. Достоинством такого моделирования является его математическая и физическая наглядность. В компонентах моделей Simulink можно задавать не только фиксированные параметры, но и математические соотношения, описывающие поведение моделей.

5. Report Generator для MATLAB и Simulink

Report Generator для MATLAB и Simulink

Генераторы отчетов - средство, введенное еще в MATLAB 5.3.1, дает информацию о работе системы MATLAB и пакета расширения Simulink. Это средство очень полезно при отладке сложных вычислительных алгоритмов или при моделировании сложных систем. Генераторы отчетов запускаются командой Report. Отчеты могут быть представлены в виде программ и редактироваться.

Генераторы отчетов могут запускать входящие в отчеты команды и фрагменты программ и позволяют проконтролировать поведение сложных вычислений.

6. Neural Networks Toolbox

Neural Networks Toolbox

Пакет прикладных программ, содержащих средства для построения нейронных сетей, базирующихся на поведении математического аналога нейрона. Па-кет обеспечивает эффективную поддержку проектирования, обучения и моделирования множества известных сетевых парадигм, от базовых моделей персептрона до самых современных ассоциативных и самоорганизующихся сетей. Пакет может быть использован для исследования и применения нейронных сетей к таким задачам, как обработка сигналов, нелинейное управление и финансовое моделирование. Обеспечена возможность генерации переносимого С-кода с помощью Real Time Workshop.

В пакет включены более 15 известных типов сетей и обучающих правил, позволяющих пользователю выбирать наиболее подходящую для конкретного приложения или исследовательской задачи парадигму. Для каждого типа архитектуры и обучающих правил имеются функции инициализации, обучения, адаптации, создания и моделирования, демонстрации и пример приложения сети.

Для управляемых сетей можно выбрать прямую или рекуррентную архитектуру, используя множество обучающих правил и методов проектирования, таких как персептрон, обратное распространение, обратное распространение Левенберга, сети с радиальным базисом и рекуррентные сети. Вы можете легко изменять любые архитектуры, обучающие правила или переходные функции, добавлять новые, - и все это без написания единой строки на Си или ФОРТРАН. Пример применения пакета для распознавания образа буквы приводился в уроке 4. Детальное описание предшествующей версии пакета можно найти в книге.

7. Fuzzy Logic Toolbox

Fuzzy Logic Toolbox

Пакет прикладных программ Fuzzy Logic относится к теории нечетких (размытых) множеств. Обеспечивается поддержка современных методов нечеткой кластеризации и адаптивных нечетких нейронных сетей. Графические средства пакета позволяют интерактивно отслеживать особенности поведения системы.

Основные возможности пакета:

  • определение переменных, нечетких правил и функций принадлежности;
  • интерактивный просмотр нечеткого логического вывода;
  • современные методы: адаптивный нечеткий вывод с использованием нейронных сетей, нечеткая кластеризация;
  • интерактивное динамическое моделирование в Simulink;
  • генерация переносимого Си кода с помощью Real-Time Workshop.

Этот пример наглядно показывает отличия в поведении модели при учете нечеткой логики и без такого учета.

8. Symbolic Math Toolbox

Symbolic Math Toolbox

Пакет прикладных программ, дающих системе MATLAB принципиально новые возможности - возможности решения задач в символьном (аналитическом) виде, включая реализацию точной арифметики произвольной разрядности. Пакет базируется на применении ядра символьной математики одной из самых мощных систем компьютерной алгебры - Maple V R4. Обеспечивает выполнение символьного дифференцирования и интегрирования, вычисление сумм и произведений, разложение в ряды Тейлора и Маклорена, операции со степенными многочленами (полиномами), вычисление корней полиномов, решение в аналитическом виде нелинейных уравнений, всевозможные символьные преобразования, подстановки и многое другое. Имеет команды прямого доступа к ядру системы Maple V.

Пакет позволяет готовить процедуры с синтаксисом языка программирования системы Maple V R4 и устанавливать их в системе MATLAB. К сожалению, по возможностям символьной математики пакет сильно уступает специализированным системам компьютерной алгебры, таким как новейшие версии Maple и Mathematica.

9. Пакеты математических вычислений

Пакеты математических вычислений

В MATLAB входит множество пакетов расширения, усиливающих математические возможности системы, повышающих скорость, эффективность и точность вычислений.

10. NAG Foundation Toolbox

NAG Foundation Toolbox

Одна из самых мощных библиотек математических функций, созданная специальной группой The Numerical Algorithms Group, Ltd. Пакет содержит сотни новых функций. Названия функций и синтаксис их вызова заимствованы из известной библиотеки NAG Foundation Library. Вследствие этого опытные пользователи NAG ФОРТРАН могут без затруднений работать с пакетом NAG в MATLAB. Библиотека NAG Foundation предоставляет свои функции в виде объектных кодов и соответствующих m-файлов для их вызова. Пользователь может легко модифицировать эти МЕХ-файлы на уровне исходного кода.

Пакет обеспечивает следующие возможности:

    корни многочленов и модифицированный метод Лагерра;

    вычисление суммы ряда: дискретное и эрмитово-дискретное преобразование Фурье;

    обыкновенные дифференциальные уравнения: методы Адамса и Рунге-Кутта;

    уравнения в частных производных;

    интерполяция;

    вычисление собственных значений и векторов, сингулярных чисел, поддержка комплексных и действительных матриц;

    аппроксимация кривых и поверхностей: полиномы, кубические сплайны, полиномы Чебышева;

    минимизация и максимизация функций: линейное и квадратичное программирование, экстремумы функций нескольких переменных;

    разложение матриц;

    решение систем линейных уравнений;

    линейные уравнения (LAPACK);

    статистические расчеты, включая описательную статистику и распределения вероятностей;

    корреляционный и регрессионный анализ: линейные, многомерные и обобщенные линейные модели;

    многомерные методы: главных компонент, ортогональные вращения;

    генерация случайных чисел: нормальное распределение, распределения Пуассона, Вейбулла и Кощи;

    непараметрические статистики: Фридмана, Крускала-Уоллиса, Манна-Уитни; О временные ряды: одномерные и многомерные;

    аппроксимации специальных функций: интегральная экспонента, гамма-функция, функции Бесселя и Ганкеля.

Наконец, этот пакет позволяет пользователю создавать программы на ФОРТРАН, которые динамически линкуются с MATLAB.

11. Spline Toolbox

Пакет прикладных программ для работы со сплайнами. Поддерживает одномерную, двумерную и многомерную сплайн-интерполяцию и аппроксимацию. Обеспечивает представление и отображение сложных данных и поддержку графики.

Пакет позволяет выполнять интерполяцию, аппроксимацию и преобразование сплайнов из В-формы в кусочно-полиномиальную, интерполяцию кубическими сплайнами и сглаживание, выполнение операций над сплайнами: вычисление производной, интеграла и отображение.

Пакет Spline оснащен программами работы с В-сплайнами, описанными в работе «A Practical Guide to Splines» Карлом Дебуром, создателем сплайнов и автором пакета Spline. Функции пакета в сочетании с языком MATLAB и подробным руководством пользователя облегчают понимание сплайнов и их эффективное применение к решению разнообразных задач.

В пакет включены программы для работы с двумя наиболее широко распространенными формами представления сплайнов: В-формой и кусочно-полиномиальной формой. В-форма удобна на этапе построения сплайнов, в то время как кусочно-полиномиальная форма более эффективна во время постоянной работы со сплайном. Пакет включает функции для создания, отображения, интерполяции, аппроксимации и обработки сплайнов в В-форме и в виде отрезков полиномов.

12. Statistics Toolbox

Statistics Toolbox

Пакет прикладных программ по статистике, резко расширяющий возможности системы MATLAB в области реализации статистических вычислений и статистической обработки данных. Содержит весьма представительный набор средств генерации случайных чисел, векторов, матриц и массивов с различными законами распределения, а также множество статистических функций. Следует отметить, что наиболее распространенные статистические функции входят в состав ядра системы MATLAB (в том числе функции генерации случайных данных с равномерным и нормальным распределением). Основные возможности пакета:

    описательная статистика;

    распределения вероятностей;

    оценка параметров и аппроксимация;

    проверка гипотез;

    множественная регрессия;

    интерактивная пошаговая регрессия;

    моделирование Монте-Карло;

    аппроксимация на интервалах;

    статистическое управление процессами;

    планирование эксперимента;

    моделирование поверхности отклика;

    аппроксимация нелинейной модели;

    анализ главных компонент;

    статистические графики;

    графический интерфейс пользователя.

Пакет включает 20 различных распределений вероятностей, включая t (Стъюдента), F и Хи-квадрат. Подбор параметров, графическое отображение распределений и способ вычисления лучших аппроксимаций предоставляются для всех типов распределений. Предусмотрено множество интерактивных инструментов для динамической визуализации и анализа данных. Имеются специализированные интерфейсы для моделирования поверхности отклика, визуализации распределений, генерации случайных чисел и линий уровня.

13. Optimization Toolbox

Optimization Toolbox

Пакет прикладных задач- для решения оптимизационных задач и систем нелинейных уравнений. Поддерживает основные методы оптимизации функций ряда переменных:

    безусловная оптимизация нелинейных функций;

    метод наименьших квадратов и нелинейная интерполяция;

    решение нелинейных уравнений;

    линейное программирование;

    квадратичное программирование;

    условная минимизация нелинейных функций;

    метод минимакса;

    многокритериальная оптимизация.

Разнообразные примеры демонстрируют эффективное применение функций пакета. С их помощью можно также сравнить, как одна и та же задача решается разными методами.

14. Partial Differential Equations Toolbox

Partial Differential Equations Toolbox

Весьма важный пакет прикладных программ, содержащий множество функций для решения систем дифференциальных уравнений в частных производных. Дает эффективные средства для решения таких систем уравнений, в том числе жестких. В пакете используется метод конечных элементов. Команды и графический интерфейс пакета могут быть использованы для математического моделирования уравнений в частных производных применительно к широкому классу инженерных и научных приложений, включая задачи сопротивления материалов, расчеты электромагнитных устройств, задачи тепломассопереноса и диффузии. Основные возможности пакета:

    полноценный графический интерфейс для обработки уравнений с частными производными второго порядка;

    автоматический и адаптивный выбор сетки;

    задание граничных условий: Дирихле, Неймана и смешанных;

    гибкая постановка задачи с использованием синтаксиса MATLAB;

    полностью автоматическое сеточное разбиение и выбор величины конечных элементов;

    нелинейные и адаптивные расчетные схемы;

    возможность визуализации полей различных параметров и функций решения, демонстрация принятого разбиения и анимационные эффекты.

Пакет интуитивно следует шести шагам решения PDE с помощью метода конечных элементов. Эти шаги и соответствующие режимы пакета таковы: определение геометрии (режим рисования), задание граничных условий (режим граничных условий), выбор коэффициентов, определяющих задачу (режим PDE), дисркре-тизация конечных элементов (режим сетки), задание начальных условий и решение уравнений (режим решения), последующая обработка решения (режим графика).

15. Пакеты анализа и синтеза систем управления

Пакеты анализа и синтеза систем управления

Control System Toolbox

Пакет Control System предназначен для моделирования, анализа и проектирования систем автоматического управления - как непрерывных, так и дискретных. Функции пакета реализуют традиционные методы передаточных функций и современные методы пространства состояний. Частотные и временные отклики, диаграммы расположения нулей и полюсов могут быть быстро вычислены и отображены на экране. В пакете реализованы:

    полный набор средств для анализа MIMO-систем (множество входов - множество выходов) систем;

    временные характеристики: передаточная и переходная функции, реакция на произвольное воздействие;

    частотные характеристики: диаграммы Боде, Николса, Найквиста и др.;

    разработка обратных связей;

    проектирование LQR/LQE-регуляторов;

    характеристики моделей: управляемость, наблюдаемость, понижение порядка моделей;

    поддержка систем с запаздыванием.

Дополнительные функции построения моделей позволяют конструировать более сложные модели. Временной отклик может быть рассчитан для импульсного входа, единичного скачка или произвольного входного сигнала. Имеются также функции для анализа сингулярных чисел.

Интерактивная среда для сравнения временного и частотного отклика систем предоставляет пользователю графические управляющие элементы для одновременного отображения откликов и переключения между ними. Можно вычислять различные характеристики откликов, такие как время разгона и время регулирования.

Пакет Control System содержит средства для выбора параметров обратной связи. Среди традиционных методов: анализ особых точек, определение коэффициента усиления и затухания. Среди современных методов: линейно-квадратичное регулирование и др. Пакет Control System включает большое количество алгоритмов для проектирования и анализа систем управления. Кроме того, он обладает настраиваемым окружением и позволяет создавать свои собственные m-файлы.

16. Nonlinear Control Design Toolbox

Nonlinear Control Design Toolbox

Nonlinear Control Design (NCD) Blockset реализует- метод динамической оптимизации для проектирования систем управления. Этот инструмент, разработанный для использования с Simulink, автоматически настраивает системные параметры, основываясь на определенных пользователем ограничениях на временные характеристики.

Пакет использует перенос объектов мышью для изменения временных ограничений прямо на графиках, что позволяет легко настраивать переменные и указывать неопределенные параметры, обеспечивает интерактивную оптимизацию, реализует моделирование методом Монте-Карло, поддерживает проектирование SISO- (один вход - один выход) и MIMO-систем управления, позволяет моделировать подавление помех, слежение и другие типы откликов, поддерживает проблемы повторяющегося параметра и задачи управления системами с запаздыванием, позволяет осуществлять выбор между удовлетворенными и недостижимыми ограничениями.

17. Robust Control Toolbox

Robust Control Toolbox

Пакет Robust Control включает средства для проектирования и анализа многопараметрических устойчивых систем управления. Это системы с ошибками моделирования, динамика которых известна не полностью или параметры которых могут изменяться в ходе моделирования. Мощные алгоритмы пакета позволяют выполнять сложные вычисления с учетом изменения множества параметров. Возможности пакета:

    синтез LQG-регуляторов на основе минимизации равномерной и интегральной нормы;

    многопараметрический частотный отклик;

    построение модели пространства состояний;

    преобразование моделей на основе сингулярных чисел;

    понижение порядка модели;

    спектральная факторизация.

Пакет Robust Control базируется на функциях пакета Control System, одновременно предоставляя усовершенствованный набор алгоритмов для проектирования систем управления. Пакет обеспечивает переход между современной теорией управления и практическими приложениями. Он имеет множество функций, реализующих современные методы проектирования и анализа многопараметрических робастных регуляторов.

Проявления неопределенностей, нарушающих устойчивость систем, многообразны - шумы и возмущения в сигналах, неточность модели передаточной функции, немоделируемая нелинейная динамика. Пакет Robust Control позволяет оценить многопараметрическую границу устойчивости при различных неопределенностях. Среди используемых методов: алгоритм Перрона, анализ особенностей передаточных функций и др.

Пакет Robust Control обеспечивает различные методы проектирования обратных связей, среди которых: LQR, LQG, LQG/LTR и др. Необходимость понижения порядка модели возникает в нескольких случаях: понижение порядка объекта, понижение порядка регулятора, моделирование больших систем. Качественная процедура понижения порядка модели должна быть численно устойчива. Процедуры, включенные в пакет Robust Control, успешно справляются с этой задачей.

18. Model Predictive Control Toolbox

Model Predictive Control Toolbox

Пакет Model Predictive Control содержит полный набор средств для реализации стратегии предиктивного (упреждающего) управления. Эта стратегия была разработана для решения практических задач управления сложными многоканальными процессами при наличии ограничений на переменные состояния и управление. Методы предикативного управления используются в химической промышленности и для управления другими непрерывными процессами. Пакет обеспечивает:

    моделирование, идентификацию и диагностику систем;

    поддержку MISO (много входов - один выход), MIMO, переходных характеристик, моделей пространства состояний;

    системный анализ;

    конвертирование моделей в различные формы представления (пространство состояний, передаточные функции);

    предоставление учебников и демонстрационных примеров.

Предикативный подход к задачам управления использует явную линейную динамическую модель объекта для прогнозирования влияния будущих изменений управляющих переменных на поведение объекта. Проблема оптимизации формулируется в виде задачи квадратичного программирования с ограничениями, решаемой на каждом такте моделирования заново. Пакет позволяет создавать и тестировать регуляторы как для простых, так и для сложных объектов.

Пакет содержит более полусотни специализированных функций для проектирования, анализа и моделирования динамических систем с использованием предикативного управления. Он поддерживает следующие типы систем: импульсные, непрерывные и дискретные по времени, пространство состояний. Обрабатываются различные виды возмущений. Кроме того, в модель могут быть явно включены ограничения на входные и выходные переменные.

Средства моделирования позволяют осуществлять слежение и стабилизацию. Средства анализа включают вычисление полюсов замкнутого контура, частотного отклика, другие характеристики системы управления. Для идентификации модели в пакете имеются функции взаимодействия с пакетом System Identification. Пакет также включает две функции Simulink, позволяющие тестировать нелинейные модели.

19. мю - Analysis and Synthesis

(Мю)-Analysis and Synthesis

Пакет p-Analysis and Synthesis содержит функции для проектирования устойчивых систем управления. Пакет использует оптимизацию в равномерной норме и сингулярный параметр и. В этот пакет включен графический интерфейс для упрощения операций с блоками при проектировании оптимальных регуляторов. Свойства пакета:

  • проектирование регуляторов, оптимальных в равномерной и интегральной норме;
  • оценка действительного и комплексного сингулярного параметра мю;
  • D-K-итерации для приближенного мю -синтеза;

    графический интерфейс для анализа отклика замкнутого контура;

    средства понижения порядка модели;

    непосредственное связывание отдельных блоков больших систем.

Модель пространства состояний может быть создана и проанализирована на основе системных матриц. Пакет поддерживает работу с непрерывными и дискретными моделями. Пакет обладает полноценным графическим интерфейсом, включающим в себя: возможность устанавливать диапазон вводимых данных, специальное окно для редактирования свойств D-K итераций и графическое представление частотных характеристик. Имеет функции для матричного сложения, умножения, различных преобразований и других операций над матрицами. Обеспечивает возможность понижения порядка моделей.

20. Stateflow

Stateflow - пакет моделирования событийно-управляемых систем, основанный на теории конечных автоматов. Этот пакет предназначен для использования вместе с пакетом моделирования динамических систем Simulink. В любую Simulink-мо-дель можно вставить Stateflow-диаграмму (или SF-диаграмму), которая будет отражать поведение компонентов объекта (или системы) моделирования. SF-диаграмма является анимационной. По ее выделяющимся цветом блокам и связям можно проследить все стадии работы моделируемой системы или устройства и поставить ее работу в зависимость от тех или иных событий. Рис. 23.6 иллюстрирует моделирование поведения автомобиля при возникновении чрезвычайного обстоятельства на дороге. Под моделью автомобиля видна SF-диаграмма (точнее, один кадр ее работы).

Для создания SF-диаграмм пакет имеет удобный и простой редактор, а также средства пользовательского интерфейса.

21. Quantitative Feedback Theory Toolbox

Quantitative Feedback Theory Toolbox

Пакет содержит функции для создания робастных (устойчивых) систем с обратной связью. QFT (количественная теория обратных связей) - инженерный метод, использующий частотное представление моделей для удовлетворения различных требований к качеству при наличии неопределенных характеристик объекта. В основе метода лежит наблюдение, что обратная связь необходима в тех случаях, когда некоторые характеристики объекта неопределенны и/или на его вход подаются неизвестные возмущения. Возможности пакета:

    оценка частотных границ неопределенности, присущей обратной связи;

    графический интерфейс пользователя, позволяющий оптимизировать процесс нахождения требуемых параметров обратной связи;

    функции для определения влияния различных блоков, вводимых в модель (мультиплексоров, сумматоров, петель обратной связи) при наличии неопределенностей;

    поддержка моделирования аналоговых и цифровых контуров обратной связи, каскадов и многоконтурных схем;

    разрешение неопределенности в параметрах объекта с использованием параметрических и непараметрических моделей или комбинации этих типов моделей.

Теория обратных связей является естественным продолжением классического частотного подхода к проектированию. Ее основная цель - проектирование простых регуляторов небольшого порядка с минимальной шириной полосы пропускания, удовлетворяющих качественным характеристикам при наличии неопределенностей.

Пакет позволяет вычислять различные параметры обратных связей, фильтров, проводить тестирование регуляторов как в непрерывном, так и в дискретном пространстве. Имеет удобный графический интерфейс, позволяющий создавать простые регуляторы, удовлетворяющие требованиям пользователя.

QFT позволяет проектировать регуляторы, удовлетворяющие различным требованиям, несмотря на изменения параметров модели. Измеряемые данные могут быть непосредственно использованы для проектирования регуляторов, без необходимости идентификации сложного отклика системы.

22. LMI Control Toolbox

LMI Control Toolbox

Пакет LMI (Linear Matrix Inequality) Control обеспечивает интегрированную среду для постановки и решения задач линейного программирования. Предназначенный первоначально для проектирования систем управления пакет позволяет решать любые задачи линейного программирования практически в любой сфере деятельности, где такие задачи возникают. Основные возможности пакета:

    решение задач линейного программирования: задачи совместности ограничений, минимизация линейных целей при наличии линейных ограничений, минимизация собственных значений;

    исследование задач линейного программирования;

    графический редактор задач линейного программирования;

    задание ограничений в символьном виде;

    многокритериальное проектирование регуляторов;

    проверка устойчивости: квадратичная устойчивость линейных систем, устойчивость по Ляпунову, проверка критерия Попова для нелинейных систем.

Пакет LMI Control содержит современные симплексные алгоритмы для решения задач линейного программирования. Использует структурное представление линейных ограничений, что повышает эффективность и минимизирует требования к памяти. Пакет имеет специализированные средства для анализа и проектирования систем управления на основе линейного программирования.

С помощью решателей задач линейного программирования можно легко выполнять проверку устойчивости динамических систем и систем с нелинейными компонентами. Ранее этот вид анализа считался слишком сложным для реализации. Пакет позволяет даже такое комбинирование критериев, которое ранее считалось слишком сложным и разрешимым лишь с помощью эвристических подходов.

Пакет является мощным средством для решения выпуклых задач оптимизации, возникающих в таких областях, как управление, идентификация, фильтрация," структурное проектирование, теория графов, интерполяция и линейная алгебра. Пакет LMI Control включает два вида графического интерфейса пользователя: редактор задачи линейного программирования (LMI Editor) и интерфейс Magshape. LMI Editor позволяет задавать ограничения в символьном виде, a Magshape обеспечивает пользователя удобными средствами работы с пакетом.

23. Пакеты идентификации систем

Пакеты идентификации систем

System Identification Toolbox

Пакет System Identification содержит средства для создания математических моделей динамических систем на основе наблюдаемых входных и выходных данных. Он имеет гибкий графический интерфейс, помогающий организовать данные и создавать модели. Методы идентификации, входящие в пакет, применимы для решения широкого класса задач, от проектирования систем управления и обработки сигналов до анализа временных рядов и вибрации. Основные свойства пакета:

    простой и гибкий интерфейс;

    предварительная обработка данных, включая предварительную фильтрацию, удаление трендов и смещений; О выбор диапазона данных для анализа;

    анализ отклика во временной и частотной области;

    отображение нулей и полюсов передаточной функции системы;

    анализ невязок при тестировании модели;

    построение сложных диаграмм, таких как диаграмма Найквиста и др.

Графический интерфейс упрощает предварительную обработку данных, а также диалоговый процесс идентификации модели. Возможна также работа с пакетом в командном режиме и с применением расширения Simulink. Операции загрузки и сохранения данных, выбора диапазона, удаления смещений и трендов выполняются с минимальными усилиями и находятся в главном меню.

Представление данных и идентифицированных моделей организовано графически таким образом, что в процессе интерактивной идентификации пользователь легко может вернуться к предыдущему шагу работы. Для новичков существует возможность просматривать следующие возможные шаги. Специалисту графические средства позволяют отыскать любую из ранее полученных моделей и оценить ее качество в сравнении с другими моделями.

Начав с измерения выхода и входа, можно создать параметрическую модель системы, описывающую ее поведение в динамике. Пакет поддерживает все традиционные структуры моделей, включая авторегрессию, структуру Бокса-Дженкинса и др. Он поддерживает линейные модели пространства состояний, которые могут быть определены как в дискретном, так и в непрерывном пространстве. Эти модели могут включать произвольное число входов и выходов. В пакет включены функции, которые можно использовать как тестовые данные для идентифицированных моделей. Идентификация линейных моделей широко используется при проектировании систем управления, когда требуется создать модель объекта. В задачах обработки сигналов модели могут быть использованы для адаптивной обработки сигналов. Методы идентификации успешно применяются и для финансовых приложений.

24. Frequency Domain System Identification Toolbox

Frequency Domain System Identification Toolbox

Пакет Frequency Domain System Identification предоставляет специализированные средства для идентификации линейных динамических систем по их временному или частотному отклику. Частотные методы направлены на идентификацию непрерывных систем, что является мощным дополнением к более традиционной дискретной методике. Методы пакета могут быть применены к таким задачам, как моделирование электрических, механических и акустических систем. Свойства пакета:

    периодические возмущения, пик-фактор, оптимальный спектр, псевдослучайные и дискретные двоичные последовательности;

    расчет доверительных интервалов амплитуды и фазы, нулей и полюсов;

    идентификация непрерывных и дискретных систем с неизвестным запаздыванием;

    диагностика модели, включая моделирование и вычисление невязок;

    преобразование моделей в формат System Identification Toolbox и обратно.

Используя частотный подход, можно добиться наилучшей модели в частотной области; избежать ошибок дискретизации; легко выделять постоянную составляющую сигнала; существенно улучшить отношение сигнал/шум. Для получения возмущающих сигналов пакет предоставляет функции генерации двоичных последовательностей, минимизации величины пика и улучшения спектральных характеристик. Пакетом обеспечивается идентификация непрерывных и дискретных линейных статических систем, автоматическая генерация входных сигналов, а также графическое изображение нулей и полюсов передаточной функции результирующей системы. Функции для тестирования модели включают вычисление невязок, передаточных функций, нулей и полюсов, прогонку модели с использованием тестовых данных.

25. Дополнительные пакеты расширения MATLAB

Дополнительные пакеты расширения MATLAB

Communications Toolbox

Пакет прикладных программ для построения и моделирования разнообразных телекоммуникационных устройств: цифровых линий связи, модемов, преобразователей сигналов и др. Имеет богатейший набор моделей самых различных устройств связи и телекоммуникаций. Содержит ряд интересных примеров моделирования коммуникационных средств, например модема, работающего по протоколу v34, модулятора для обеспечения однополосной модуляции и др.

26. Digital Signal Processing (DSP) Blockset

Digital Signal Processing (DSP) Blockset

Пакет прикладных программ для проектирования устройств, использующих процессоры цифровой обработки сигналов. Это прежде всего высокоэффективные цифровые фильтры с заданной или адаптируемой к параметрам сигналов частотной характеристикой (АЧХ). Результаты моделирования и проектирования цифровых устройств с помощью этого пакета могут использоваться для построения высокоэффективных цифровых фильтров на современных микропроцессорах цифровой обработки сигналов.

27. Fixed-Point Blockset

Fixed-Point Blockset

Этот специальный пакет ориентирован на моделирование цифровых систем управления и цифровых фильтров в составе пакета Simulink. Специальный набор компонентов позволяет быстро переключаться между вычислениями с фиксированной и плавающей запятой (точкой). Можно указывать 8-, 16- или 32-битовую длину слова. Пакет обладает рядом полезных свойств:

    применение беззнаковой или двоичной арифметики;

    выбор пользователем положения двоичной точки;

    автоматическая установка положения двоичной точки;

    просмотр максимального и минимального диапазонов сигнала модели;

    переключение между вычислениями с фиксированной и плавающей точкой;

    коррекция переполнения и наличие ключевых компонентов для операций с фиксированной точкой; логические операторы, одно- и двумерные справочные таблицы.

28. Пакеты для обработки сигналов и изображений

Пакеты для обработки сигналов и изображений

Signal Processing Toolbox

Мощный пакет по анализу, моделированию и проектированию устройств обработки всевозможных сигналов, обеспечению их фильтрации и множества преобразований.

Пакет Signal Processing обеспечивает чрезвычайно обширные возможности создания программ обработки сигналов для современных научных и технических приложений. В пакете используется разнообразная техника фильтрации и новейшие алгоритмы спектрального анализа. Пакет содержит модули для разработки линейных систем и анализа временных рядов. Пакет будет полезен, в частности, в таких областях, как обработка аудио- и видеоинформации, телекоммуникации, геофизика, задачи управления в реальном режиме времени, экономика, финансы и медицина. Основные свойства пакета:

    моделирование сигналов и линейных систем;

    проектирование, анализ и реализация цифровых и аналоговых фильтров;

    быстрое преобразование Фурье, дискретное косинусное и другие преобразования;

    оценка спектров и статистическая обработка сигналов;

    параметрическая обработка временных рядов;

    генерация сигналов различной формы.

Пакет Signal Processing - идеальная оболочка для анализа и обработки сигналов. В нем используются проверенные практикой алгоритмы, выбранные по критериям максимальной эффективности и надежности. Пакет содержит широкий спектр алгоритмов для представления сигналов и линейных моделей. Этот набор позволяет пользователю достаточно гибко подходить к созданию сценария обработки сигналов. Пакет включает алгоритмы для преобразования модели из одного представления в другое.

Пакет Signal Processing включает полный набор методов для создания цифровых фильтров с разнообразными характеристиками. Он позволяет быстро разрабатывать фильтры верхних и нижних частот, полосовые пропускающие и задерживающие фильтры, многополосные фильтры, в том числе фильтры Чебышева, Юла-Уолкера, эллиптические и др.

Графический интерфейс позволяет проектировать фильтры, задавая требования к ним в режиме переноса объектов мышью. В пакет включены следующие новые методы проектирования фильтров:

    обобщенный метод Чебышева для создания фильтров с нелинейной фазовой характеристикой, комплексными коэффициентами или произвольным откликом. Алгоритм разработан Макленаном и Карамом в 1995 г.;

    метод наименьших квадратов с ограничениями позволяет пользователю явно контролировать максимальную ошибку (сглаживание);

    метод расчета минимального порядка фильтра с окном Кайзера;

    обобщенный метод Баттерворта для проектирования низкочастотных фильтров с максимально однородными полосами пропускания и затухания.

Основанный на оптимальном алгоритме быстрого преобразования Фурье пакет Signal Processing обладает непревзойденными характеристиками для частотного анализа и спектральных оценок. Пакет включает функции для вычисления дискретного преобразования Фурье, дискретного косинусного преобразования, преобразования Гильберта и других преобразований, часто применяемых для анализа, кодирования и фильтрации. В пакете реализованы такие методы спектрального анализа как метод Вельха, метод максимальной энтропии и др.

Новый графический интерфейс позволяет просматривать и визуально оценивать характеристики сигналов, проектировать и применять фильтры, производить спектральный анализ, исследуя влияние различных методов и их параметров на получаемый результат. Графический интерфейс особенно полезен для визуализации временных рядов, спектров, временных и частотных характеристик, расположения нулей и полюсов передаточных функций систем.

Пакет Signal Processing является основой для решения многих других задач. Например, комбинируя его с пакетом Image Processing, можно обрабатывать и анализировать двумерные сигналы и изображения. В паре с пакетом System Identification пакет Signal Processing позволяет выполнять параметрическое моделирование систем во временной области. В сочетании с пакетами Neural Network и Fuzzy Logic может быть создано множество средств для обработки данных или выделения классификационных характеристик. Средство генерации сигналов позволяет создавать импульсные сигналы различной формы.

29. Higher-Order Spectral Analysis Toolbox

Higher-Order Spectral Analysis Toolbox

Пакет Higher-Order Spectral Analysis содержит специальные алгоритмы для анализа сигналов с использованием моментов высшего порядка. Пакет предоставляет широкие возможности для анализа негауссовых сигналов, так как содержит алгоритмы, пожалуй, самых передовых методов для анализа и обработки сигналов. Основные возможности пакета:

    оценка спектров высокого порядка;

    традиционный или параметрический подход;

    восстановление амплитуды и фазы;

    адаптивное линейное прогнозирование;

    восстановление гармоник;

    оценка запаздывания;

    блочная обработка сигналов.

Пакет Higher-Order Spectral Analysis позволяет анализировать сигналы, поврежденные негауссовым шумом, и процессы, происходящие в нелинейных системах. Спектры высокого порядка, определяемые в терминах моментов высокого порядка сигнала, содержат дополнительную информацию, которую невозможно получить, пользуясь только анализом автокорреляции или спектра мощности сигнала. Спектры высокого порядка позволяют:

    подавить аддитивный цветной гауссов шум;

    идентифицировать неминимально-фазовые сигналы;

    выделить информацию, обусловленную негауссовым характером шума;

    обнаружить и проанализировать нелинейные свойства сигналов.

Возможные приложения спектрального анализа высокого порядка включают акустику, биомедицину, эконометрию, сейсмологию, океанографию, физику плазмы, радары и локаторы. Основные функции пакета поддерживают спектры высокого порядка, взаимную спектральную оценку, линейные модели прогноза и оценку запаздывания.

30. Image Processing Toolbox

Image Processing Toolbox

Пакет Image Processing предоставляет ученым, инженерам и даже художникам широкий спектр средств для цифровой обработки и анализа изображений. Будучи тесно связанным со средой разработки приложений MATLAB, пакет Image Processing Toolbox освобождает вас от выполнения длительных операций кодирования и отладки алгоритмов, позволяя сосредоточить усилия на решении основной научной или практической задачи. Основные свойства пакета:

    восстановление и выделение деталей изображений;

    работа с выделенным участком изображения;

    анализ изображения;

    линейная фильтрация;

    преобразование изображений;

    геометрические преобразования;

    увеличение контрастности важных деталей;

    бинарные преобразования;

    обработка изображений и статистика;

    цветовые преобразования;

    изменение палитры;

    преобразование типов изображений.

Пакет Image Processing дает широкие возможности для создания и анализа графических изображений в среде MATLAB. Этот пакет обеспечивает чрезвычайно гибкий интерфейс, позволяющий манипулировать изображениями, интерактивно разрабатывать графические картины, визуализировать наборы данных и аннотировать результаты для технических описаний, докладов и публикаций. Гибкость, соединение алгоритмов пакета с такой особенностью MATLAB, как матрично-векторное описание делают пакет очень удачно приспособленным для решения практически любых задач по разработке и представлению графики. Примеры применения этого пакета в среде системы MATLAB были даны в уроке 7. В MATLAB входят специально разработанные процедуры, позволяющие повысить эффективность графической оболочки. Можно отметить, в частности, такие особенности:

    интерактивная отладка при разработке графики;

    профилировщик для оптимизации времени выполнения алгоритма;

    средства построения интерактивного графического интерфейса пользователя (GUI Builder) для ускорения разработки GUI-шаблонов, позволяющие настраивать его под задачи пользователя.

Этот пакет позволяет пользователю тратить значительно меньше времени и сил на создание стандартных графических изображений и, таким образом, сконцентрировать усилия на важных деталях и особенностях изображений.

MATLAB и пакет Image Processing максимально приспособлены для развития, внедрения новых идей и методов пользователя. Для этого имеется набор сопрягаемых пакетов, направленных на решение всевозможных специфических задач и задач в нетрадиционной постановке.

Пакет Image Processing в настоящее время интенсивно используется в более чем 4000 компаниях и университетах по всему миру. При этом имеется очень широкий круг задач, которые пользователи решают с помощью данного пакета, например космические исследования, военные разработки, астрономия, медицина, биология, робототехника, материаловедение, генетика и т. д.

31. Wavelet Toolbox

Пакет Wavelet предоставляет пользователю полный набор программ для исследования многомерных нестационарных явлений с помощью вейвлетов (коротких волновых пакетов). Сравнительно недавно созданные методы пакета Wavelet расширяют возможности пользователя в тех областях, где обычно применяется техника Фурье-разложения. Пакет может быть полезен для таких приложений, как обработка речи и аудиосигналов, телекоммуникации, геофизика, финансы и медицина. Основные свойства пакета:

    усовершенствованный графический пользовательский интерфейс и набор команд для анализа, синтеза, фильтрации сигналов и изображений;

    преобразование многомерных непрерывных сигналов;

    дискретное преобразование сигналов;

    декомпозиция и анализ сигналов и изображений;

    широкий выбор базисных функций, включая коррекцию граничных эффектов;

    пакетная обработка сигналов и изображений;

    анализ пакетов сигналов, основанный на энтропии;

    фильтрация с возможностью установления жестких и нежестких порогов;

    оптимальное сжатие сигналов.

Пользуясь пакетом, можно анализировать такие особенности, которые упускают другие методы анализа сигналов, т. е. тренды, выбросы, разрывы в производных высоких порядков. Пакет позволяет сжимать и фильтровать сигналы без явных потерь даже в тех случаях, когда нужно сохранить и высоко- и низкочастотные компоненты сигнала. Имеются алгоритмы сжатия и фильтрации и для пакетной обработки сигналов. Программы сжатия выделяют минимальное число коэффициентов, представляющих исходную информацию наиболее точно, что очень важно для последующих стадий работы системы сжатия. В пакет включены следующие базисные наборы вейвлетов: биортогональный, Хаара, «Мексиканская шляпа», Майера и др. Вы также можете добавить в пакет свои собственные базисы.

Обширное руководство пользователя объясняет принципы работы с методами пакета, сопровождая их многочисленными примерами и полноценным разделом ссылок.

32. Прочие пакеты прикладных программ

Прочие пакеты прикладных программ

Financial Toolbox

Довольно актуальный для нашего периода рыночных реформ пакет прикладных программ по финансово-экономическим расчетам. Содержит множество функций по расчету сложных процентов, операций по банковским вкладам, вычисления прибыли и многое другое. К сожалению, из за многочисленных (хотя, в общем-то, не слишком принципиальных) различий в финансово-экономических формулах его применение в наших условиях не всегда разумно - есть множество отечественных программ для таких расчетов, - например «Бухгалтерия 1C». Но если вы хотите подключиться к базам данных агентств финансовых новостей - Bloom-berg, IDC через пакет Datafeed Toolbox MATLAB, то, конечно, обязательно пользуйтесь и финансовыми пакетами расширения MATLAB.

Пакет Financial является основой для решения в MATLAB множества финансовых задач, от простых вычислений до полномасштабных распределенных приложений. Пакет Financial может быть использован для расчета процентных ставок и прибыли, анализа производных доходов и депозитов, оптимизации портфеля инвестиций. Основные возможности пакета:

    обработка данных;

    дисперсионный анализ эффективности портфеля инвестиций;

    анализ временных рядов;

    расчет доходности ценных бумаг и оценка курсов;

    статистический анализ и анализ чувствительности рынка;

    калькуляция ежегодного дохода и расчет денежных потоков;

    методы начисления износа и амортизационных отчислений.

Учитывая важность даты той или иной финансовой операции, в пакет Financial включены несколько функций для манипулирования датами и временем в различных форматах. Пакет Financial позволяет рассчитывать цены и доходы при инвестициях в облигации. Пользователь имеет возможность задавать нестандартные, в том числе нерегулярные и несовпадающие друг с другом, графики дебитных и кредитных операций и окончательного расчета при погашении векселей. Экономические функции чувствительности могут быть вычислены с учетом разновременных сроков погашения.

Алгоритмы пакета Financial для расчета показателей движения денежных средств и других данных, отражаемых в финансовых счетах, позволяют вычислять, в частности, процентные ставки по займам и кредитам, коэффициенты рентабельности, кредитные поступления и итоговые начисления, оценивать и прогнозировать стоимость инвестиционного портфеля, вычислять показатели износа и т. п. Функции пакета могут быть использованы с учетом положительного и отрицательного денежных потоков (cash-flow) (превышения денежных поступлений над платежами или денежных выплат над поступлениями соответственно).

Пакет Financial содержит алгоритмы, которые позволяют анализировать портфель инвестиций, динамику и экономические коэффициенты чувствительности. В частности, при определении эффективности инвестиций функции пакета позволяют сформировать портфель, удовлетворяющий классической задаче Г. Марковица. Пользователь может комбинировать алгоритмы пакета для вычисления коэффициентов Шарпе и ставок дохода. Анализ динамики и экономических коэффициентов чувствительности позволяет пользователю определить позиции для стреддл-сделок, хеджирования и сделок с фиксированными ставками. Пакет Financial обеспечивает также обширные возможности для представления и презентации данных и результатов в виде традиционных для экономической и финансовой сфер деятельности графиков и диаграмм. Денежные средства могут по желанию пользователя отображаться в десятичном, банковском и процентном форматах.

33. Mapping Toolbox

Пакет Mapping предоставляет графический и командный интерфейс для анализа географических данных, отображения карт и доступа к внешним источникам данных по географии. Кроме того, пакет пригоден для работы с множеством широко известных атласов. Все эти средства в комбинации с MATLAB предоставляют пользователям все условия для продуктивной работы с научными географическими данными. Основные возможности пакета:

    визуализация, обработка и анализ графических и научных данных;

    более 60 проекций карт (прямые и инверсные);

    проектирование и отображение векторных, матричных и составных карт;

    графический интерфейс для построения и обработки карт и данных;

    глобальные и региональные атласы данных и сопряжение с правительственными данными высокого разрешения;

    функции географической статистики и навигации;

    трехмерное представление карт со встроенными средствами подсветки и затенения;

    конвертеры для популярных форматов географических данных: DCW, TIGER, ЕТОРО5.

Пакет Mapping включает более 60 наиболее широко известных проекций, включая цилиндрическую, псевдоцилиндрическую, коническую, поликоническую и псевдоконическую, азимутальную и псевдоазимутальную. Возможны прямые и обратные проекции, а также нестандартные виды проекции, задаваемые пользователем.

В пакете Mapping картой называется любая переменная или множество переменных, отражающих или назначающих численное значение географической точке или области. Пакет позволяет работать с векторными, матричными и смешанными картами данных. Мощный графический интерфейс обеспечивает интерактивную работу с картами, например возможность подвести указатель к объекту и, щелкнув на нем, получить информацию. Графический интерфейс MAPTOOL - полная среда разработки приложений для работы с картами.

Наиболее широко известные атласы мира, Соединенных Штатов, астрономические атласы входят в состав пакета. Географическая структура данных упрощает извлечение и обработку данных из атласов и карт. Географическая структура данных и функции взаимодействия с внешними географическими данными форматов Digital Chart of the World (DCW), TIGER, TBASE и ЕТОРО5 собраны воедино, чтобы обеспечить мощный и гибкий инструмент для доступа к уже существующим и будущим географическим базам данных. Тщательный анализ географических данных часто требует математических методов, работающих в сферической системе координат. Пакет Mapping снабжен подмножеством географических, статистических и навигационных функций для анализа географических данных. Функции навигации дают широкие возможности для выполнения задач перемещения, таких как позиционирование и планирование маршрутов.

34. Power System Blockset

Data Acquisition Toolbox и Instrument Control Toolbox

Data Acquisition Toolbox - пакет расширения, относящийся к области сбора данных через блоки, подключаемые к внутренней шине компьютера, функциональных генераторов, анализаторов спектра - словом, приборов, широко используемых в исследовательских целях для получения данных. Они поддержаны соответствующей вычислительной базой. Новый блок Instrument Control Toolbox позволяет подключать приборы и устройства с последовательным интерфейсом и с интерфейсами Канал общего пользования и VXI.

36. Database toolbox и Virtual Reality Toolbox

Database toolbox и Virtual Reality Toolbox

Более чем в 100 раз повышена скорость работы Database toolbox, при помощи которого осуществляется обмен информацией с целым рядом систем управления базами данных через драйверы ODBC или JDBC:

  • Access 95 или 97 Microsoft;

    Microsoft SQL Server 6.5 или 7.0;

    Sybase Adaptive Server 11;

    Sybase (бывший Watcom) SQL Server Anywhere 5.0;

    IBM DB2 Universal 5.0;

  • Computer Associates Ingres (все версии).

Все данные предварительно преобразуются в массив ячеек в MATLAB 6.0. В MATLAB 6.1 можно использовать и массив структур. Визуальный конструктор (Visual Query Builder) позволяет составлять сколь угодно сложные запросы на диалектах языка SQL этих баз данных даже без знания SQL. В одном сеансе может быть открыто много неоднородных баз данных.

Пакет Virtual Reality Toolbox доступен начиная с версии MATLAB 6.1. Позволяет осуществлять трехмерную анимацию и мультипликацию, в том числе моделей Simulink. Язык программирования - VRML - язык моделирования виртуальной реальности (Virtual Reality Modeling Language). Просмотр анимации возможен с любого компьютера, оснащенного браузером с поддержкой VRML. Подтверждает, что математика - наука о количественных соотношениях и пространственных формах любых действительных или виртуальных миров.

37. Excel Link

Позволяет использовать Microsoft Excel 97 как процессор ввода-вывода MATLAB. Для этого достаточно установить в Excel как add-in функцию поставляемый Math Works файл excllinkxla. В Excel нужно набрать Сервис > Надстройки > Обзор, выбрать файл в каталоге \matlabrl2\toolbox\exlink и установить его. Теперь при каждом запуске Excel появится командное окно MATLAB, а панель управления Excel дополнится кнопками getmatrix, putmatrix, evalstring. Для закрытия MATLAB из Excel достаточно набрать =MLC1ose() в любой ячейке Excel. Для открытия после выполнения этой команды нужно либо щелкнуть мышью на одной из кнопок getmatrix, putmatrix, evalstring, либо набрать в Excel Сервис > Макрос >Выполнить mat! abi ni t. Выделив мышью диапазон ячеек Excel, вы можете щелкнуть на getmatrix и набрать имя переменной MATLAB. Матрица появится в Excel. Заполнив числами диапазон ячеек Excel, вы можете выделить этот диапазон, щелкнуть на putmatrix и ввести имя переменной MATLAB. Работа, таким образом, интуитивно понятна. В отличие от MATLAB Excel Link не чувствителен к регистру: I и i, J и j равноценны.

Вызывать демонстрационные примеры пакетов расширения.

Это окно является основным в MatLAB. В нем появляются символы команд, которые набираются пользователем на экране дисплея, отображаются результаты выполнения этих команд, текст исполняемой программы и информация об ошибках выполнения программы, распознанных системой.

Признаком того, что MatLAB готова к восприятию и выполнению очередной команды, является возникновение в последней строке текстового поля окна знака приглашения " >> ", после которого расположена мигающая вертикальная черта.

В верхней части окна (под заголовком) размещена строка меню, в которой находятся меню File, Edit, View, Windows, Help. Чтобы открыть какое-либо меню, следует установить на нем указатель мыши и нажать ее левую кнопку. Подробнее функции команд меню будут описаны далее, в разделе «Интерфейс MatLab и команды общего назначения. Написание М-книг».

Здесь отметим лишь, что для выхода из среды MatLAB достаточно открыть меню File и выбрать в нем команду Exit MATLAB, или просто закрыть командное окно, нажав левую клавишу мыши, когда курсор мыши установлен на изображении верхней крайней правой кнопки этого окна (с обозначением косого крестика).

1.2. Операции с числами

1.2.1. Ввод действительных чисел

Ввод чисел с клавиатуры осуществляется по общим правилам, принятым для языков программирования высокого уровня:

для отделения дробной части мантиссы числа используется десятичная точка (вместо запятой при обычной записи) ;

десятичный показатель числа записывается в виде целого числа после предшествующей записи символа «е» ;

между записью мантиссы числа и символом «е» (который отделяет мантиссу от показателя ) не должно быть никаких символов , включая и символ пропуска.

Если, например, ввести в командном окне MatLAB строку

то после нажатия клавиши <Еnter> в этом окне появится запись:


Следует отметить, что результат выводится в виде (формате), который определяется предварительно установленным форматом представления чисел. Этот формат может быть установлен с помощью команды Preferences меню File (рис. 1.3). После ее вызова на экране появится одноименное окно (рис. 1.4). Один из участков этого окна имеет название Numeric Format . Он предназначен для установки и изменения формата представления чисел, которые выводятся в командное окно в процессе расчетов. Предусмотрены такие форматы:

Short (default) – краткая запись (применяется по умолчанию);

Long – длинная запись;

Hex – запись в виде шестнадцатиричного числа;

Bank – запись до сотых долей;

Plus – записывается только знак числа;

Short Е – краткая запись в формате с плавающей запятой;

Long Е – длинная запись в формате с плавающей запятой;

Short G – вторая форма краткой записи в формате с плавающей запятой;

Long G – вторая форма длинной записи в формате с плавающей запятой;

Rational – запись в виде рациональной дроби.

Избирая с помощью мыши нужный вид представления чисел, можно обеспечить в дальнейшем выведение чисел в командное окно именно в этой форме.

Как видно из рис. 1.2, число, которое выведено на экран, не совпадает с введенным. Это обусловлено тем, что установленный по умолчанию формат пред­ставления чисел (Short ) не позволяет вывести больше 6 значащих цифр. На самом деле введенное число сохраняется внутри MatLAB со всеми введенными его цифрами. Например, если избрать мышью селекторную кнопку Long Е (т. е. установить указанный формат представления чисел), то, повторяя те же действия, получим:

где уже все цифры отображены верно (рис. 1.5).

Следует помнить:

- введенное число и результаты всех вычислений в системе Ма tLAB сохраняются в памяти ПК с относительной погрешностью около 2.10-16 (т. е. с точными значениями в 15 десятичных разрядах ):

- диапазон представления модуля действительных чисел лежит в диапазоне между 10-308 и 10+308 .

1.2.2. Простейшие арифметические действия

В арифметических выражениях языка МаtLAB используются следующие знаки арифметических операций:

+ – сложение;

– – вычитание;

* – умножение;

/ – деление слева направо;

\ – деление справа налево;

^ – возведение в степень.

Использование MatLAB в режиме калькулятора может происходить путем простой записи в командную строку последовательности арифметических действий с числами, то есть обычного арифметического выражения, например: 4.5^2*7.23 – 3.14*10.4.

Если после ввода с клавиатуры этой последовательности нажать клавишу , в командном окне возникнет результат выполнения в виде, представленном на рис. 1.6, т. е. на экран под именем системной переменной ans выводится результат действия последнего выполненного оператора.

Вообще вывод промежуточной информации в командное окно подчиняется таким правилам:

- если запись оператора не заканчивается символом ";", результат действия этого оператора сразу же выводится в командное окно;

- если оператор заканчивается символом ";", результат его действия не отображается в командном окне ;

- если оператор не содержит знака присваивания (= ), т. е. является просто записью некоторой последовательности действий над числами и переменными , значение результата присваивается специальной системной переменной по имени ans ;

- полученное значение переменной ans можно использовать в следующих операторах вычислений, применяя это имя ans; при этом следует помнить, что значение системной переменной ans изменяется после действия очередного оператора без знака присваивания ;

- в общем случае форма представления результата в командном окне имеет вид :

<Имя переменной> = <результат>.

Пример. Пусть нужно вычислить выражение (25+17)*7. Это можно сделать таким образом. Сначала набираем последовательность 25+17 и нажимаем . Получаем на экране результат в виде ans = 42.Теперь записываем последовательность ans*7 и нажимаем . Получаем ans = 294 (рис. 1.7). Чтобы предотвратить выведение промежуточного результата действия 25+17, достаточно после записи этой последовательности добавить символ ";". Тогда будем иметь результаты в виде, представленном на рис. 1.8.

Применяя MatLAB как калькулятор, можно использовать имена переменных для записи промежуточных результатов в память ПК. Для этого служит операция присваивания, которая вводится знаком равенства "=" в соответствия со схемой: <Имя переменной> = <выражение>[;]

Имя переменной может содержать до 30 символов и должно не совпадать с именами функций, процедур системы и системных переменных. При этом система различает большие и маленькие буквы в переменных. Так, имена "amenu", "Amenu", "aMenu" в MatLAB обозначают разные переменные.

Выражение справа от знака присваивания может быть просто числом, арифметическим выражением, строкой символов (тогда эти символы нужно заключить в апострофы) или символьным выражением. Если выражение не заканчивается символом ";", после нажатия клавиши <Еnter> в командном окне возникнет результат выполнения в виде:

<Имя переменной > = <результат >.

Рис. 1.7. Рис. 1.8.

Например, если ввести в командное окно строку "х = 25 + 17", на экране появится запись (рис. 1.9).

Система MatLAB имеет несколько имен переменных, которые используются самой системой и входят в состав зарезервированных:

i, j – мнимая единица (корень квадратный из –1); pi – число p (сохраняется в виде 3.141592653589793); inf – обозначение машинной бесконечности; Na – обозначение неопределенного результата (например, типа 0/0 или inf/inf); eps – погрешность операций над числами с плавающей запятой; ans – результат последней операции без знака присваивания; realmax и realmin – максимально и минимально возможные величины числа, которое может быть использованы.

Эти переменные можно использовать в математических выражениях.

1.2.3. Ввод комплексных чисел

Язык системы MatLAB, в отличие от многих языков программирования высокого уровня, содержит в себе очень простую в пользовании встроенную арифметику комплексных чисел. Большинство элементарных математических функций допускают в качестве аргументов комплексные числа, а результаты формируются как комплексные числа. Эта особенность языка делает его очень удобным и полезным для инженеров и научных работников.

Для обозначения мнимой единицы в языке МatLAB зарезервированы два имени i и j. Ввод с клавиатуры значения комплексного числа осуществляется путем записи в командное окно строки вида:

<имя комплексной переменной > = <значение ДЧ > + i [j ] * <значение МЧ >,

где ДЧ – действительная часть комплексного числа, МЧ – мнимая часть. Например:

Из приведенного примера видно, в каком виде система выводит комплексные числа на экран (и на печать).

1.2.4. Элементарные математические функции

Общая форма использования функции в MatLAB такова:

<имя результата > = <имя функции >(<перечень аргументов или их значений> ).

В языке MatLAB предусмотрены следующие элементарные арифметические функции.

Тригонометрические и гиперболические функции

sin (z) – синус числа z;

sinh (z) – гиперболический синус;

asin (z) – арксинус (в радианах, в диапазоне от к );

а sinh (z) – обратный гиперболический синус;

со s (z) – косинус;

соsh(z) – гиперболический косинус;

acos (z) – арккосинус (в диапазоне от 0 к p );

асо sh (z) – обратный гиперболический косинус;

tan (z) – тангенс;

tanh (z) – гиперболический тангенс;

atan (z) – арктангенс (в диапазоне от от к );

аtап2 (Х, Y) – четырехквадрантный арктангенс (угол в диапазоне от –p до +p между горизонтальным правым лучом и лучом, который проходит через точку с координатами Х и Y );

atanh (z) – обратный гиперболический тангенс;

sec (z) – секанс;

sech (z) – гиперболический секанс;

asec (z) – арксеканс;

asech (z) – обратный гиперболический секанс;

csc (z) – косеканс;

csch (z) – гиперболический косеканс;

acsc (z) – арккосеканс;

acsch (z) – обратный гиперболический косеканс;

cot (z) – котангенс;

coth (z) – гиперболический котангенс;

acot (z) – арккотангенс;

acoth (z) – обратный гиперболический котангенс

Экспоненциальные функции

exp (z) – экспонента числа z;

log (z) – натуральный логарифм;

log 10 (z) – десятичный логарифм;

sqrt (z) – квадратный корень из числа z;

abs (z) – модуль числа z.

Целочисленные функции

fix (z) – округление к ближайшему целому в сторону нуля;

floor (z) – округление к ближайшему целому в сторону отрицательной бесконечности;

ceil (z) – округление к ближайшему целому в сторону положительной бесконечности;

round (z) – обычное округление числа z к ближайшему целому;

mod (X, Y) – целочисленное деление X на Y;

rem (X, Y) – вычисление остатка от деления X на Y;

sign (z) – вычисление сигнум-функции числа z

(0 при z = 0, –1 при z < 0, 1 при z > 0)

1.2.5. Специальные математические функции

Кроме элементарных в языке MatLAB предусмотрен целый ряд специальных математических функций. Ниже приведен перечень и краткое содержание этих функций. Правила обращения к ним и использования пользователь может отыскать в описаниях этих функций, которые выводятся на экран, если набрать команду help и указать в той же строке имя функции.

Функции преобразования координат

cart 2 sph – преобразование декартовых координат в сферические;

cart 2 pol – преобразование декартовых координат в полярные;

pol 2 cart – преобразование полярных координат в декартовые;

sph 2 cart – преобразование сферических координат в декартовые.

Функции Бесселя

besselj – функция Бесселя первого рода;

bessely – функция Бесселя второго рода;

besseli – модифицированная функция Бесселя первого рода;

besselk – модифицированная функция Бесселя второго рода.

Бета-функции

beta – бета-функция;

betainc – неполная бета-функция;

betaln – логарифм бета-функции.

Гамма-функции

gamma – гамма-функция;

gammainc – неполная гамма-функция;

gammaln – логарифм гамма-функции.

Эллиптические функции и интегралы

ellipj – эллиптические функции Якоби;

ellipke – полный эллиптический интеграл;

expint – функция экспоненциального интеграла.

Функции ошибок

erf – функция ошибок;

erfc – дополнительная функция ошибок;

erfcx – масштабированная дополнительная функция ошибок;

erflnv – обратная функция ошибок.

Другие функции

gcd – наибольший общий делитель;

lern – наименьшее общее кратное;

legendre – обобщенная функция Лежандра;

log2 – логарифм по основанию 2;

pow2 – возведение 2 в указанную степень;

rat – представление числа в виде рациональной дроби;

rats – представление чисел в виде рациональной дроби.

1.2.6. Элементарные действия с комплексными числами

Простейшие действия с комплексными числами – сложение, вычитание, умножение, деление и возведение в степень – осуществляются при помощи обычных арифметических знаков +,–,*,/, \ и ^ соответственно.

Примеры использования приведены на рис. 1.11.

Примечание. В приведенном фрагменте использована функция disp (от слова "дисплей"), которая тоже выводит в командное окно результаты вычислений или некоторый текст. При этом численный результат, как видно, выводится уже без указания имени переменной или ans.

1.2.7. Функции комплексного аргумента

Практически все элементарные математические функции , приведенные в п. 1.2.4, вычисляются при комплексных значениях аргумента и получают в результате этого комплексные значения результата.

Благодаря этому, например, функция sqrt вычисляет, в отличие от других языков программирования, квадратный корень из отрицательного аргумента, а функция abs при комплексном значении аргумента вычисляет модуль комплексного числа. Примеры приведены на рис. 1.12.

В МаtLАВ есть несколько дополнительных функций, рассчитанных только на комплексный аргумент:

real (z) – выделяет действительную часть комплексного аргумента z;

і mag (z) – выделяет мнимую часть комплексного аргумента;

angle (z) – вычисляет значение аргумента комплексного числа z (в радианах в диапазоне от –p до +p);

conj (z) – выдает число, комплексно сопряженное относительно z.

Примеры приведены на рис. 1.13.

Рис. 1.12. Рис. 1.3.

Кроме того, в MatLAB есть специальная функция cplxpair (V), которая осуществляет сортировку заданного вектора V с комплексными элементами таким образом, что комплексно-сопряженные пары этих элементов располагаются в векторе-результате в порядке возрастания их действительных частей, при этом элемент с отрицательной мнимой частью всегда располагается первым. Действительные элементы завершают комплексно-сопряженные пары. Например (в дальнейшем в примерах команды, которые набираются с клавиатуры , будут написаны жирным шрифтом , а результат их выполнения – обычным шрифтом ):

>> v = [ -1, -1+2i,-5,4,5i,-1-2i,-5i]

Columns 1 through 4

1.0000 -1.0000 +2.0000i -5.0000 4.0000

Columns 5 through 7

0 + 5.0000i -1.0000-2.0000i 0 - 5.0000i

>> disp(cplxpair(v))

Columns 1 through 4

1.0000 - 2.0000i -1.0000 + 2.0000i 0 - 5.0000i 0 + 5.0000i

Columns 5 through 7

5.0000 -1.0000 4.0000

Приспособленность большинства функций MatLAB к оперированию с ком­плексными числами позволяет значительно проще строить вычисления с действи­тельными числами, результат которых является комплексным, например, находить комплексные корни квадратных уравнений.

1. Гультяев А. К. MatLAB 5.2. Имитационное моделирование в среде Windows: Практическое пособие. - Спб.: КОРОНА принт, 1999. - 288 с.

2. Гультяев А. К. Визуальное моделирование в среде MATLAB: Учебный курс. - Спб.: ПИТЕР, 2000. - 430 с.

3. Дьяконов В. П. Справочник по применению системы PC MatLAB. - M.: Физматлит, 1993. - 113с.

4. Дьяконов В. Simulink 4. Специальный справочник. - Спб: Питер, 2002. – 518 с.

5. Дьяконов В., Круглов В. Математические пакеты расширения MatLAB. Специальный справочник. - СПб.: Питер, 2001. - 475с.

6. Краснопрошина А. А., Репникова Н. Б., Ильченко А. А. Современный анализ систем управления с применением MATLAB, Simulink, Control System: Учебное пособие. - К.: "Корнійчук", 1999. – 144 с.

7. Лазарев Ю. Ф. Початки програмування в среде MatLAB: Уч. пособие. - К.: "Корнійчук", 1999. - 160с.

8. Лазарев Ю. MatLAB 5.x. – К.: "Ирина" (BHV), 2000. – 384 с.

9. Медведев В. С., Потемкин В. Г. Control System Toolbox. MatLAB 5 для студентов. - Г.: "ДИАЛОГ-МИФИ", 1999. – 287 с.

10. Потемкин В. Г. MatLAB 5 для студентов: Справ. пособие. - M.: "ДИАЛОГ-МИФИ", 1998. - 314 с.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: