Анимация в пространстве — аттрактор Лоренца
Анимация в пространстве — аттрактор Лоренца
Современная трехмерная графика — одна из причин большой популярности системы MATLAB. В этом разделе мы не будем рассматривать конкретные реализации тех или иных видов трехмерной графики. Вы можете самостоятельно вывести на экран дисплея текст (листинг) любого файла примеров трехмерной графики с помощью команды type. Ограничимся лишь тремя примерами визуализации сложных математических задач, когда используется оживление изображений — анимация.
Что больше — e ^ pi или pi ^ e?
Что больше — e ^ pi или pi ^ e?
Рассмотрим еще один простой пример, дающий ответ на сакраментальный вопрос о том, какое значение больше — e^pi или pi^e? Для запуска этого примера надо исполнить команду » e2pi
и наблюдать красочное шоу — графики степенных функций х^у и у^х с построением на них линий заданных функций и оценкой их значений. Заключительный слайд этого примера показан на рис. 4.2.
Демонстрационные примеры Simulink
Демонстрационные примеры Simulink
Следующий пример, показанный на рис. 4.16, иллюстрирует доступ к примерам пакета системного моделирования Simulink — одного из самых мощных пакетов прикладных программ, расширяющих возможности системы MATLAB. Этот пакет создан для моделирования линейных и нелинейных динамических систем заданием их в виде системы функциональных блоков с автоматическим составлением и решением матричной системы дифференциальных уравнений состояния, описывающей работу созданной модели.
На рис. 4.17 приведен пример просмотра одного из простых примеров — моделирования динамической системы второго порядка, описываемой нелинейными дифференциальными уравнениями Ван-дер-Поля. Сверху показана блок-схема моделируемого объекта, а снизу — результат моделирования его работы. Для пуска моделирования в панели инструментов окна системы Simulink нажимается кнопка пуска с изображением треугольника.
Дополнительные справочные команды
Дополнительные справочные команды
В командном режиме можно получить справочные данные с помощью ряда команд:
computer — выводит сообщение о типе компьютера, на котором установлена текущая версия MATLAB;
help script — выводит сообщение о назначении m-файлов сценариев (Script-файлов);
helрf unction — выводит сообщение о назначении и структуре m-файлов функций;
info — выводит информацию о фирме Math Works с указанием адресов электронной почты;
subscribe — позволяет создать файл с бланком регистрации;
ver — выводит информацию о версиях установленной системы MATLAB и ее компонентов;
version — выводит краткую информацию об установленной версии MATLAB,
version -Java — выводит информацию об установленной в составе MATLAB версии Ява (Java);
what — выводит имена файлов текущего каталога;
what name — выводит имена файлов каталога, заданного именем name;
whatsnew name — выводит на экран содержимое файлов readme заданного именем name класса для знакомства с последними изменениями в системе и в пакетах прикладных программ;
which name — выводит путь доступа к функции с данным именем.
Как правило, эти команды выводят довольно обширные сообщения. Ниже показаны примеры применения отдельных команд этой группы:
» computer
ans=
PCWIN
» version
ans =
6.0.0.88 (R12)
» ver
MATLAB Version 6.0.0.88 (R12) on PCWIN MATLAB License Number: 0
MATLAB Toolbox Version 6.0 (R12) 06-0ct-2000
Simulink Version 4.0 (R12) 16-Jun-2000
Stateflow Version 4.0 (R12) 04-0ct-2000
Приведенный выше сокращенный список пакетов расширения системы MAT-LAB 6.0 дает весьма ценную информацию об их версиях и датах выпуска. Он свидетельствует о весьма существенном обновлении не только базовой системы MATLAB, но и стандартных пакетов расширения (toolbox). Более полный список пакетов расширения дан в уроке 23. Рекомендуем приобрести издание [44] для работы с Simulink и издание [39] для работы с пакетами расширения. В дальнейшем мы рассмотрим и другие команды, которые могут быть отнесены к группе дополнительных справочных команд.
Копирование демонстрационных примеров
Копирование демонстрационных примеров
Вполне возможно, что вы захотите воспользоваться каким-либо примером для своих целей. Для этого можно использовать m-файл примера или перенести его текст в командное окно MATLAB, используя буфер обмена. Покажем, как это делается. В нижней части окна примера показано, каким образом осуществляется копирование примера: текст примера выделяется мышью и используется команда Сору (Копировать) меню Edit окна примера, в результате чего текст примера попадет в буфер обмена.
После этого надо вернуться в командное окно MATLAB и, используя команду Paste (Вставить) меню Edit, перенести текст примера из буфера в текущую строку ввода. Выполнив команду (как обычно, клавишей Enter), можно наблюдать исполнение примера, как показано на рис. 4.18.
Трудно сказать почему, но создатели MATLAB в последних версиях отказались от возможности копирования выделенного в примерах окна Demos текста программ с помощью контекстного меню правой клавиши мыши. Зато появилась возможность исполнения выделенных в справке (как на заданную функцию в командном режиме, так и в HTML-браузере справки) примеров с помощью команды Evaluate Selection в контекстном меню правой клавиши мыши в тексте справки.
Остается еще раз отметить, что обилие примеров в системе MATLAB облегчает знакомство с различными аспектами применения системы. Большинство примеров содержат решения отнюдь не тривиальных математических задач и прекрасно иллюстрируют обширные возможности системы. Поэтому работа с демонстрационными примерами — залог успешного освоения системы MATLAB.
Меню Help
Меню Help
Основной доступ к справочной информации обеспечивает меню Help (Помощь). Оно открывает доступ к справочным системам MATLAB и к информации о производителе MATLAB. Меню. Help показано на рис. 4.6.
Разработчики систем компьютерной математики не
Новые функции системы MATLAB 6.0
Разработчики систем компьютерной математики не очень охотно включают в их состав новые функции, поскольку это чревато несовместимостью новых версий систем с прежними версиями. Тем не менее на это приходится идти.
Какие новые функции включены в систему MATLAB 6.0? Для ответа на этот вопрос просто наберите в поле поиска вкладки Search (Поиск) слово Functions (Функции) в режиме Full Text (полнотекстового поиска). Вы сразу найдете раздел New Functions (Новые функции) в левом окне и, выделив его мышью, получите в правом окне перечень новых функций.
Новых функций в системе MATLAB 6.0 совсем немного — два десятка, и в основном это довольно специфические функции. Но эффективность и возможности старых функций значительно увеличены.
Окно со сведениями о системе
Окно со сведениями о системе
В окне About MATLAB можно найти информацию о применяемой версии системы (в нашем случае это 6.0.0.88) и о дате ее создания (22 сентября 2000 г.). Номер лицензии ввиду его конфиденциальности опущен — точнее, заменен нулем.
Основное окно справочной подсистемы
Основное окно справочной подсистемы
Для запуска справочной системы следует использовать одноименную команду Help меню MATLAB. При этом запустится браузер справочной системы (браузер помощи) и откроется ее окно, показанное на рис. 4.8.
Поиск функций по имени
Поиск функций по имени
Если вас не интересует всякая «шелуха», которой сопровождается поиск по заданному слову или фразе (особенно полнотекстовый поиск Full Text), то вы можете перейти к поиску по имени функции — тип поиска Function Name. Это предусмотрено на вкладке Search (Поиск).
Нетрудно заметить, что на этот раз найден только главный раздел функции с именем sin. Остальные разделы отсеяны фильтрами справочной системы.
Поиск по всей справке
Поиск по всей справке
Еще один полезный вид работы со справочной системой — поиск по заданному слову или фразе. Он происходит почти аналогично ранее приведенному случаю, но при открытой вкладке Search (Поиск) в левом окне справочной системы.
При выдаче данных о функциях используется справочник по ним (Function Reference) и обеспечивается автоматический поиск нужной функции.
Следует отметить, что набор входящих
Примечание
Следует отметить, что набор входящих в список средств зависит от набора пакетов расширения, которыми располагает версия системы MATLAB, заказанная или полученная конкретным пользователем. Этот набор может заметно отличаться от приведенного. Кроме того, в MATLAB 6.0 для доступа к пакетам расширения может потребоваться указание пути к их файлам на диске в панели браузера файловой системы.
тест на быстродействие компьютера
Пример — тест на быстродействие компьютера
Большинство пользователей, включая автора данной книги, очень ревниво относится к вычислительной мощности своего компьютера. Поэтому в качестве первого демонстрационного примера возьмем тест на сравнительную оценку скорости работы — bench . Исполнив команду » bench можно наблюдать исполнение комплексного теста по оценке быстродействия компьютера при работе с MATLAB. Его итоги представляются в виде столбцовой диаграммы и таблицы, которые показаны на рис. 4.1.
Просмотр документации в формате PDF
Просмотр документации в формате PDF
Описанные выше справочные средства рассчитаны на то, что пользователь уже знаком с системой и желает быстро получить справку по ее конкретным возможностям. Но для общего знакомства с системой они не очень подходят, поскольку много времени занимают «бесконечные» переходы от одного раздела справки к другому. Поэтому хотелось бы обратить внимание читателя на подробные электронные книги, обычно представленные в виде файлов формата PDF, для работы с которыми применяются такие программы, как Acrobat Reader или Adobe Acrobat. Первая позволяет только просматривать материалы книг, а вторая — еще и редактировать их.
Справочная система содержит раздел Favorites с подразделом MATLAB Printable Documentation (печатаемая документация MATLAB), предоставляющим доступ к электронной справочной документации, которая поставляется в виде файлов PDF или PostScript. На рис. 4.11 показано окно этого раздела справки с перечнем документов в формате PDF. Среди документов крупные (сотни страниц) руководства по функциям системы, языку ее программирования, графическим функциям и т. д.
Возможность просмотра документов в этом формате требует наличия программы Adobe Acrobat Reader (можно бесплатно скачать с web-узла фирмы Adobe www.ado-be.com) и файлов самих документов. Не все поставки системы MATLAB имеют эти средства. Полный объем документации по системе MATLAB 6.0 и пакетам прикладных программ уже превышает 600 Мбайт, что делает документацию труднообозримой.
Просмотр текстов примеров и m-файлов
Просмотр текстов примеров и m-файлов
Хотя наблюдение за тем, как MATLAB расправляется со сложными примерами и задачами, само по себе довольно поучительно, жаждущие применить систему на деле пользователи, безусловно, захотят узнать, а как же конкретно реализовано решение той или иной задачи? Для этого вам достаточно просмотреть соответствующий демонстрационный (или любой другой) m-файл. Это можно сделать с помощью любого текстового редактора, редактора и отладчика m-файлов, встроенного в систему, или с помощью команды
type Имя_М-файла
Ниже представлена часть файла демонстрационного примера e2pi:
» type e2pi
function slide=e2pi
% This is a slideshow file for use with playshow.m and makeshow.m
% To see it run. type 'piayshow e2pi',
% ' Copyright 1984-2000 The MathWorks. Inc.
% SRevision: 5.12 $
If nargout<1.
playshow e2pi
else
%========== Slide 1 ==========
slide(l).code={
'x=0:0.16:5;'.
'y=0:0.16:5;'.
'[xx,yy]=meshgrid(x,y);',
'zz=xx.*yy-yy.~xx:',
'h=surf(x.y,zz):'.
'set(h,"EdgeColor".[0.7 0.7 0.7]);',
'view(20.50);',
'colormap(hsv);.' };
slide(l).text={
' Press the "Start" button to see an example of visualization'
' in MATLAB applied to the question:',
' "which is greater, e
A
pi or pi^e?"'};
Используя команду help, можно получить справку по любой конкретной функции или команде. Ввиду того что текст примера имеет довольно большой объем, мы ограничились приведением только его фрагмента, относящегося к первому слайду. Остальные слайды просто опущены — на их месте стоит многоточие.
Работа с индексным каталогом
Работа с индексным каталогом
Мы уже привели пару примеров использования справочной системы по контексту. Теперь рассмотрим работу с индексным каталогом.
Будучи крупной математической системой, MATLAB имеет многие сотни функций, свойства которых запомнить трудно даже пользователю-профессионалу. Да и нужно ли? Справочная система MATLAB позволят найти информацию по нужной функции в считанные секунды.
Если вы знаете имя нужной вам функции, то проще всего воспользоваться индексным каталогом. Откройте в левом окне справки вкладку Index и в поле поиска (сверху) укажите имя нужной вам функции или хотя бы его начальную часть. Нажмите клавишу Enter и через секунду-другую вы получите список всех объектов, включающих заданное имя.
Результаты тестирования компьютера на быстродеиствие
Рис. 4.1 . Результаты тестирования компьютера на быстродеиствие
Увы, в тесте системы MATLAB 6.0 компьютер автора занял последнее место, хотя в тесте системы MATLAB 5.3.1 он занимал достаточно почетное место в середине списка. Однако это вовсе не говорит о снижении производительности данного конкретного компьютера в новой реализации MATLAB. На самом деле производительность даже немного возросла. Просто в новом примере изрядно морально постаревший за год компьютер автора сравнивается с более новыми компьютерами. Кстати, в этом тесте ПК автора переместился на куда более почетное шестое место сверху после замены процессора на Pentium III 600 и установки видеокарты с видеопамятью 32 Мбайта и поддержкой OpenGL.
Приведенные данные говорят о том, что вычислительная мощность современного персонального компьютера (теперь у автора компьютер с процессором Pentium III 600 МГц со 100-мегагерцовой шиной под управлением Windows 98) с системой MATLAB уже приближается к таковой для суперкомпьютеров недавнего прошлого. Новые суперкомпьютеры, разумеется, куда мощнее компьютера с процессором Pentium III и даже Pentium IV, но и для них MATLAB — одна из основных систем для выполнения математических расчетов.
Заключительный слайд примера e2pi
Рис. 4.2. Заключительный слайд примера e2pi
Этот пример — наглядная демонстрация перехода от узких понятий к более широким. Разумеется, вы могли бы вместо приятного обозрения слайд-шоу просто вычислить соответствующие значения:
» e=exp(1)
e =
2.7183
» e ^ pi
ans =
23.1407
» pi^e
ans =
22.4592
Так можно легко убедиться в том, что все же е
^
рi больше, чем pi^e. Но тогда это означало бы, что вы просто технарь или физик-экспериментатор, а не истинный математик. Впрочем, у каждого есть свои взгляды на применение математики. И чьи лучше — вопрос весьма спорный.
График, иллюстрирующий работу аттрактора Лоренца
Рис. 4.3. График, иллюстрирующий работу аттрактора Лоренца
На рис. 4.3 показан пример визуализации динамического процесса в так называемом
аттракторе Лоренца
(пример lorenz) — колебательной системе, создающей хаотические и довольно замысловатые колебания. Наиболее наглядна их визуализация с помощью трехмерного фазового портрета колебаний, который приведен на рис. 4.3. К сожалению, на рис. 4.3 показана лишь завершающая стадия — на экране можно реально видеть движение образующей точки во времени и убедиться в своеобразной хаотичности колебаний. Для запуска анимации надо нажать кнопку Start (Пуск) окна графики.
Построение фигуры-узла
Рис. 4.4. Построение фигуры-узла
Таким образом, можно сделать вывод о том, что для имитации и моделирования математических и физических задач система MATLAB предоставляет значительные графические возможности — от простейших графиков функций в декартовой системе координат до сложных анимационных графиков с динамической цветной функциональной окраской. Среди множества примеров такой графики всегда можно подобрать наиболее подходящие для решения конкретных задач пользователя, в какой бы области науки, техники или образования он ни работал.
Демонстрационная панель примера на применение нейронных сетей
Рис. 4.5. Демонстрационная панель примера на применение нейронных сетей
Вы имеете возможность задавать различные параметры нейронной сети, позволяющей распознать букву Т в ее искаженном изображении. Демонстрационная панель построена в виде виртуальной лаборатории и позволяет мышью менять вид образцов (вводя закрашенные квадратики) и оценивать погрешность и вероятность распознавания образа.
Окно MATLAB 6.0 с открытым меню Help
Рис. 4.6. Окно MATLAB 6.0 с открытым меню Help
Основные возможности справочной системы обсуждаются в следующих разделах. Поэтому здесь мы остановимся только на команде About MATLAB. Она выводит окно, содержащее информацию о системе. На рис. 4.7 это окно показано на фоне рабочего окна системы.
Один из документов справочной системы
Рис. 4.9. Один из документов справочной системы
Бросается в глаза, что справочная система новой версии MATLAB 6.0 существенно переработана даже внешне. Теперь она имеет вполне современный вид электронного документа. В левом окне расположены вкладки разделов справочной системы и дерево ее разделов, в правом — информация о текущем установленном разделе. От использования стандартного Интернет-браузера для вывода справочной информации в новой версии MATLAB отказались. Видимо, мода на всеобщее применение Интернет-браузеров начинает потихоньку отступать.
Каждый небольшой раздел справочной системы представлен в правом окне в виде гипертекстовой ссылки, активизация которой приводит к переходу на соответствующую HTML-страницу. На рис. 4.9 показан один из документов справочной системы, содержащий начальные данные по запуску расширения Simulink.
С помощью линейки прокрутки можно перемещаться по перечню документов справочной системы и выбирать различные темы справки. На рис. 4.10 представлена справка по разделу, посвященному созданию моделей для пакета расширения Simulink.
Несмотря на удобства справочной системы, надо отметить, что ее содержимое во многом дублирует другие справочные подсистемы MATLAB, например справки, вызываемые из командной строки и имеющиеся в виде PDF-файлов. В целом справочная система MATLAB превратилась в монстра — в версии MATLAB 6.0 только для PDF-файлов этой системы пришлось в ее поставку включить отдельный CD-ROM.
Пример просмотра документа, посвященного созданию библиотек расширения Simulink
Рис. 4.10. Пример просмотра документа, посвященного созданию библиотек расширения Simulink
Окно раздела справки с доступом к документам в формате PDF
Рис. 4.11. Окно раздела справки с доступом к документам в формате PDF
В качестве примера работы с электронными документами формата PDF рассмотрим просмотр книги-справочника, предназначенной для начального знакомства с системой MATLAB (Getting Started with MATLAB) (Начинаем работу с MATLAB). Его титульная страница показана на рис. 4.12. Заметим, что она появляется после загрузки программы Acrobat Reader (временное окно этой программы не показано).
Начальная страница электронного справочного руководства по MATLAB
Рис. 4.12. Начальная страница электронного справочного руководства по MATLAB
Нетрудно заметить, что страница электронного документа в формате PDF содержит древообразный перечень разделов в левой части и большое окно просмотра в правой части. С помощью левого окна можно явно указать раздел справочника, который необходимо просмотреть. Можно также перелистывать материал справочника с помощью линейки прокрутки, расположенной справа в окне просмотра. Таким образом, справочные материалы представлены в типовой форме электронных книг.
Одна из страниц электронного справочника в окне просмотра программы Acrobat Reader
Рис. 4.13. Одна из страниц электронного справочника в окне просмотра программы Acrobat Reader
Acrobat Reader — сама по себе серьезная программа, и ее описание в задачи данной книги не входит. Однако надо отметить, что работа с программой интуитивно понятна и не вызывает особых трудностей даже у не очень опытного пользователя. На рис. 4.13 дано представление одной из страниц с некоторым увеличением и в полностью открытом окне просмотра. На ней показан пример построения трехмерного графика с иллюстрацией эффектов освещения построенной поверхности от внешнего источника света. Из рис. 4.13 видно, что качество представления текстов, да и рисунков не очень высокое, даже при увеличении. Тем не менее оно достаточно для просмотра рисунков в обычном масштабе.
Как и все другие виды справочной документации, электронные книги по MATLAB подготовлены на английском языке (и кое-что на японском).
Окно демонстрационных примеров
Рис. 4.14. Окно демонстрационных примеров
Это же окно можно вызвать выполнением команды demo в режиме диалога.
В этом окне имеются три панели:
левая панель с перечнем разделов, по которым предлагаются примеры;
панель с описанием выбранного раздела примеров;
панель с перечнем примеров по выбранному разделу.
Выбрав раздел примеров (щелчком мыши), затем следует выбрать нужный пример. На рис. 4.14 показан выбор раздела Gallery и примера Hoops. После этого нажатием кнопки Run можно запустить m-файл с выбранным примером и наблюдать результат его работы (рис. 4.15).
Результат выполнения примера Hoops
Рис. 4.15. Результат выполнения примера Hoops
Этот пример демонстрирует построение сплетающихся в пространстве нескольких объемных обручей с функциональной цветной окраской. Кнопка Info окна открывает раздел справочной системы с описанием m-файла данного примера.
Доступ к примерам пакета Simulink
Рис. 4.16. Доступ к примерам пакета Simulink
Окно MAT LAB Demos дает возможность ознакомиться со многими десятками самых серьезных примеров применения системы MATLAB и позволяет убедиться в высоком качестве визуализации их решений. При необходимости всегда можно ознакомиться с файлом любого примера и использовать его для решения схожих задач.
Пример моделирования...
Рис. 4.17. Пример моделирования нелинейной динамической системы второго порядка средствами пакета моделирования Simulink
Исполнение скопированного примера из командного окна MATLAB
Рис. 4.18. Исполнение скопированного примера из командного окна MATLAB
Справка по группе объектов
Справка по группе объектов
Пользователя системы MATLAB часто интересует набор функций, команд или иных понятий, относящихся к определенной группе объектов. Выше были указаны имена основных групп объектов системы MATLAB. Ниже дан пример вызова справки по группе объектов timefun:
» help timefun
Time and dates.
Current date and time.
Now - Current date and time as date number. |
||
Date - Current date as date string. |
||
clock - Current date and time as date vector. |
||
Basic functions. |
||
datenum - Serial date number. |
||
datestr - String representation of date. |
||
datevec - Date components. |
||
Date functions. |
||
calendar - Calendar. |
||
weekday - Day of week. |
||
eomday - End of month. |
||
datetick - Date formatted tick labels. |
||
Timing functions. |
||
cputime - CPU time in seconds. |
||
tic. toe - Stop watch timer. |
||
etime - Elapsed time. |
||
pause - Wait in seconds. |
||
После уточнения состава определенной группы объектов можно получить детальную справку по любому выбранному объекту. Как это делается, было описано выше.
Справка по ключевому слову
Справка по ключевому слову
Ввиду обилия в системе MATLAB m-функций, число которых около 800, важное значение имеет поиск m-функций по ключевым словам. Для этого служит команда
lookfor Ключевое слово
или
lookfor 'Ключевые слова'
В первом случае ищутся все m-файлы, в заголовках которых встречается заданное ключевое слово, и заголовки обнаруженных файлов выводятся на экран. Следует отметить, что широкий поиск по одному ключевому слову может подчас привести к выводу многих десятков определений и длится довольно долго.
Для уточнения и сокращения зоны поиска следует использовать вторую форму команды lookfor. Вот пример ее применения:
» lookfor 'inverse sin'
ASIN Inverse sine.
ASIN Symbolic inverse sine.
В данном случае для поиска использованы слова ' inverse sin', т. е. задан поиск арксинуса. Система поиска нашла только два вида арксинуса ASIN — обычного и в символьной форме. Число найденных определений зависит от того, с каким числом пакетов прикладных программ (пакетов расширений) поставляется версия системы MATLAB.
В следующей главе мы рассмотрим гораздо более эффектные средства справочной системы, ориентированные на работу в стиле приложений операционных систем Windows 95/98/Me/2000/NT4 с графическим пользовательским интерфейсом.
Справка по конкретному объекту
Справка по конкретному объекту
Для получения справки по какому-либо конкретному объекту используются команды
» help имя
или
» doc имя
где имя — имя объекта, для которого требуется вывод справочной информации. Мы уже приводили пример помощи по разделу операторов ops. Ниже дается пример для функции вычисления гиперболического синуса, намеренно введенной с неверным указанием имени:
» help hsln hsin.m
not found.
Нетрудно заметить, что система помощи сообщает, что для функции с именем hsin соответствующий m-файл отсутствует. Введем имя верно:
» help slnh
SINH Hyperbolic sine.
SINH(X) Is the hyperbolic sine of the elements of X.
Overloaded methods
help sym/slnh.m
Теперь полученное сообщение содержит информацию о функции slnh. Хотя имена функций в MATLAB задаются малыми (строчными) буквами, в сообщениях справочной системы имена функций и команд выделяются большими (прописными) буквами. Этот не слишком удачный прием использован для выделения заголовка текста справки в виде имени функции. В данной книге мы отказались от такого приема, вводящего начинающих пользователей в заблуждение.
Аналогичным образом можно получить справку по константам и другим объектам языка MATLAB. Ниже дан пример обращения к справке о числе п:
» help pi
PI 3.1415926535897
PI= 4*atan(1) = imagdog(-l)) = 3.1415926535897
При всей примитивности справки help надо отметить ее высокую эффективность. Особенно популярна интерактивная справка у пользователей, привыкших к работе с языками программирования, которые используются в среде операционной системы MS-DOS. Справка doc имя выводит более полную информацию в окне помощи в формате HTML.
Работа со справкой и примерами
Урок 4. Работа со справкой и примерами Интерактивная справка из командной строки Вызов списка разделов интерактивной справки Справка по конкретному объекту Справка по группе объектов Справка по ключевому слову Дополнительные справочные команды Примеры, вызываемые из командной строки Вызов списка демонстрационных примеров Пример - тест на быстродействие компьютера Что больше - e^pi или pi^? Анимация в пространстве - аттрактор Лоренца Встроенные фигуры В паутине нейронных сетей Просмотр текстов примеров и m-файлов Справочная система MATLAB 6.0 Меню Help Запуск справочной системы Виды работы справочной системы Работа с индексным каталогом Поиск по всей справке Новые функции системы MATLAB 6.0 Поиск функций по имени Просмотр документации в формате PDF Галерея примеров - MATLAB Demos Вызов галереи демонстраций Демонстрационные примеры Simulink Копирование демонстрационных примеров Что нового мы узнали?
В паутине нейронных сетей
В паутине нейронных сетей
Даже десятка таких книг, как эта, едва ли хватит для исчерпывающего описания системы MATLAB со всеми ее пакетами расширения. Пакетам расширения посвящена монография [39]. Многие из таких пакетов, например по нейронным сетям, сплайнам, обработке сигналов, проектированию систем управления и т. д., относятся к самым современным и актуальным направлениям науки и техники. Нередко создание таких пакетов для системы MATLAB возглавили основатели указанных научных направлений, и по каждому такому направлению опубликованы десятки научных монографий.
Примером одного из таких направлений является пакет Neural Networks (нейронные сети). Эти сети основаны на аналогии с ячейкой нашего мозга — нейроном. Важное свойство нейрона — возможность к самообучению и распознаванию различных образных представлений и сигналов. В разделе справочной системы Examples and Demos (Примеры и демо) имеется множество конкретных примеров применения нейронных сетей. На рис. 4.5 показан вид демонстрационной панели одного из этих примеров.
Виды работы справочной системы
Виды работы справочной системы
Как видно из рис. 4.8, окно разделов справочной системы имеет четыре вкладки, соответствующие четырем видам работы справочной системы:
Contents (Содержание)— поиск информации по контексту (или попросту по обычному оглавлению с разделами справки);
Index (Индекс)— поиск информации по индексному (алфавитному) каталогу;
Search (Поиск)— поиск всех тем справки, в которые включена заданная для поиска фраза или отдельное слово;
Favorites — доступ к специальным возможностям справочной системы.
Эти виды работы могут применяться в зависимости от конкретных задач пользователя.
Встроенные фигуры
Встроенные фигуры
MATLAB имеет ряд встроенных фигур, которые можно легко выводить на построение простым указанием их названия. Так, введя команду knot, можно задать построение сложной пространственной фигуры узла с функциональной окраской (рис. 4.4). При запуске этого примера нажатием кнопки Spinmap можно наблюдать изменение окраски, имитирующее как бы движение жидкости внутри замкнутой трубки, образующей данную фигуру.
Вызов галереи демонстраций
Вызов галереи демонстраций
В меню Help имеется команда Demos, дающая доступ к галерее демонстрационных примеров применения системы MATLAB. При запуске этой команды появляется окно демонстрационных примеров MATLAB Demos, показанное на рис. 4.14.
Вызов списка демонстрационных примеров
Вызов списка демонстрационных примеров
Одним из самых эффективных методов знакомства со сложными математическими системами является ознакомление со встроенными примерами их применения.
Система MATLAB содержит многие сотни таких примеров — практически по примеру на каждый оператор или функцию. Наиболее поучительные примеры можно найти в разделе demos, исполнив команду
» help demos
Ниже представлен выводимый этой командой список примеров:
» help demos
Examples and demonstrations.
Type 'demo' at the command line to browse more demos of
MATLAB. the Toolboxes, and SIMULINK.
MATLAB/Introduction.
Demo - Browse demos for MATLAB. Toolboxes, and SIMULINK.
MATLAB/Matrices.
Intro - Introduction to basic matrix operations in MATLAB.
Inverter - Demonstrate the inversion of a matrix.
Buckydem - Connectivity graph of the Buckminster Fuller geodesic dome.
Sparsity - Demonstrate effect of sparsity orderings.
Matmanip - Introduction to matrix manipulation. |
||
Eigmovie - Symmetric eigenvalue movie. |
||
Rrefmovie - Computation of Reduced Row Echelon Form. |
||
Delsqdemo - Finite difference Laplacian on various domains. |
||
Sepdemo - Separators for a finite element mesh. |
||
Airfoil - Display sparse matrix from NASA airfoil. |
||
Eigshow - Graphical demonstration of matrix eigenvalues. |
||
Svdshow - Graphical demonstration of matrix singular values. |
||
MATLAB/Numerics. |
||
Funfuns - Demonstrate functions that operate on other functions. |
||
Fitdemo - Nonlinear curve fit with simplex algorithm. |
||
Sunspots - FFT: the answer is 11.08, what .is the question? |
||
e2pi - 2D visual solutions: Which is greater. e~pi or pi
x
e? |
||
bench - MATLAB Benchmark. |
||
Fftdemo - Use of the fast finite Fourier transform. |
||
Census - Try to predict the US population in the year 2000. |
||
spline2d - Demonstrate GINPUT and SPLINE in two dimensions. |
||
Lotkademo - An example of ordinary differential equation solution. |
||
Quaddemo - Adaptive quadrature. |
||
Zerodemo - Zerofinding with fzero. |
||
Fplotdemo - Plot a function. |
||
Quake - Loma Prieta Earthquake. |
||
Qhulldemo - Tessellation and interpolation of scattered data. |
||
MATLAB/Visualization. |
||
graf2d - 2D Plots: Demonstrate XY plots in MATLAB. |
||
graf2d2 - 3D Plots: Demonstrate XYZ plots in MATLAB. |
||
Grafcplx - Demonstrate complex function plots in MATLAB. |
||
Lorenz - Plot the orbit around the Lorenz chaotic attractor. |
||
Imageext - Image colormaps: changing and rotating colormaps. |
||
Xpklein - Klein bottle demo. |
||
Vibes - Vibration movie: Vibrating L-shaped membrane. |
||
Xpsound - Visualizing sound: Demonstrate MATLAB 's sound capability. |
||
Imagederno - Demonstrate MATLAB 's image capability. |
||
Penny - Several views of the penny data. |
||
Earthmap - View Earth's topography. |
||
Xfourier - Graphic demo of Fourier series expansion. |
||
Colormenu - Select color map. |
||
Cplxdemo - Maps of functions of a complex variable. |
||
MATLAB/Language. |
||
Xplang - Introduction to the MATLAB language. |
||
Hndlgraf - Demonstrate Handle Graphics for line plots. |
||
grafSd - Demonstrate Handle Graphics for surface plots. |
||
Hndlaxis - Demonstrate Handle Graphics for axes. |
||
MATLAB/Differential equations. |
||
Odedemo - Demo for the MATLAB Differential Equation solvers. |
||
odeexamples - Browse the MATLAB ODE/DAE/BVP/PDE examples. |
||
MATLAB/ODEs |
||
Ballode - Demo of
a
bouncing ball. |
||
Brussode - Stiff problem modelling a chemical reaction (Brusselator). |
||
burgersode - Burger's equation solved using a moving mesh technique. |
||
femlode - Stiff problem with a time-dependent mass matrix. |
||
fem2ode - Stiff problem with a constant mass matrix. |
||
hblode - Stiff problem 1 of Hindmarsh and Byrne. |
||
Orbitode - Restricted three body problem. |
||
Rigidode - Euler equations of a rigid body without external forces. |
||
.Vdpode - Parameterizable van der Pol equation (stiff for large mu). |
||
MATLAB/DAEs |
||
hbldae - Stiff DAE from a conservation law. |
||
ampldae - Stiff OAE from an electrical circuit. |
||
MATLAB/BVPs |
||
Twobvp - BVP that has exactly two solutions. |
||
mat4bvp - Find the fourth eigenvalue of the Mathieu's equation. |
||
Shockbvp - The solution has a shock layer near x = 0. |
||
MATLAB/PDEs |
||
pdexl - Example 1 for PDEPE |
||
pdex2 - Example 2 for PDEPE |
||
pdex3 - Example 3 for POEPE |
||
pdex4 - Example 4 for PDEPE |
||
pdexS - Example 5 for PDEPE |
||
Extras/Gallery. |
||
Knot - Tube surrounding a three-dimensional knot. |
||
Quivdemo - Demonstrate the quiver function. |
||
kleinl - Construct a Klein bottle. |
||
Cruller - Construct cruller. |
||
tori4 - Hoops: Construct four linked tori. |
||
spharm2 - Construct spherical surface harmonic. |
||
Modes - Plot 12 modes of the L-shaped membrane. |
||
Logo - Display the MATLAB L-shaped membrane logo. |
||
Extras/Games. |
||
Fifteen - Sliding puzzle. |
||
Xpbombs - Minesweeper game. |
||
Life - Conway's Game of Life. |
||
Soma - Soma cube. |
||
Extras/Mi seel laneous . |
||
Truss - Animation of a bending bridge truss. |
||
Travel . - Traveling salesman problem. |
||
Spinner - Colorful lines spinning through space. |
||
Xpquad - Superquadrics plotting demonstration. |
||
Codec - Alphabet transposition coder/decoder. |
||
Xphide - Visual perception of objects in motion. |
||
Makevase - Generate and plot a surface of revolution. |
||
Wrldtrv - Great circle flight routes around the globe. |
||
Logospin - Movie of The MathWorks' logo spinning. |
||
Crulspin - Spinning cruller movie. |
||
Quatdemo - Quaternion rotation. |
||
Chaingui - Matrix chain multiplication optimization. |
||
General Demo/Helper functions. |
||
Cmdlnwin - Demo gateway routine for playing command line demos. |
||
Cmdlnbgn - Set up for command line demos. |
||
Cmdlnend - Clean up after command line demos. |
||
Finddemo - Find demos available for individual toolboxes. |
||
Helpfun - Utility function for displaying help text conveniently. |
||
Pltmat - Display a matrix in a figure window. |
||
MATLAB/Helper functions. |
||
Bucky - The graph of the Buckminster Fuller geodesic dome. |
||
Peaks - A sample function of two variables. |
||
Membrane - Generate MathWorks' logo.
See also SIMDEMOS
demos Is both a directory and a function.
DEMOS Demo list for the CDMA Reference Blockset.
Мы настоятельно рекомендуем пользователям системы MATLAB просмотреть с десяток примеров из интересующих их областей. Это займет от силы полчаса или даже меньше, но зато позволит оценить поистине неисчерпаемые возможности системы при решении сложных математических и физических задач, а также превосходные средства графической визуализации решений.
Вызов списка разделов интерактивной справки
Вызов списка разделов интерактивной справки
MATLAB имеет интерактивную систему помощи, которая реализуется в командном режиме с помощью ряда команд. Одной из них является команда
» help
которая выводит весь список папок, содержащих m-файлы с определениями операторов, функций и иных объектов, присущих конкретной реализации системы MATLAB. Ниже приводится этот список для системы MATLAB 6.0:
HELP topics: |
||
matlab\general |
- General purpose commands. |
|
matlab\ops |
- Operators and special characters. |
|
matlab\lang |
- Programming language constructs. |
|
matlab\elmat |
- Elementary matrices and matrix manipulation. |
|
matlab\elfun |
- Elementary math functions. |
|
matlab\specfun |
- Specialized math functions. |
|
matlab\matfun |
- Matrix functions - numerical linear algebra. |
|
matlab\datafun |
- Data analysis and Fourier transforms. |
|
matlab\audio |
- Audio support. |
|
matlab\polyfun |
- Interpolation and polynomials. |
|
matlab\funfun |
- Function functions and ODE solvers. |
|
matlab\sparfun |
- Sparse matrices. |
|
matlab\graph2d |
- Two dimensional graphs. |
|
matlab\graph3d |
- Three dimensional graphs. |
|
matlab\specgraph |
- Specialized graphs. |
|
matlab\graphics |
- Handle Graphics. |
|
matlab\uitools |
- Graphical user interface tools. |
|
matlab\strfun |
- Character strings. |
|
matlab\iofun |
- File input/output. |
|
matlab\timefun |
- Time and dates. |
|
matlab\datatypes |
- Data types and structures. |
|
matlab\verctrl |
- Version control . |
|
matlab\winfun |
- Windows Operating System Interface Files (DDE/ActiveX) |
|
matlab\demos |
- Examples and demonstrations. |
|
tool box\ local |
- Preferences . |
|
simulink\simulink |
- Simulink |
|
simulink\blocks |
- Simulink block library. |
|
simulink\simdemos |
- Simulink 4 demonstrations and samples. |
|
simdemos\aerospace |
- Simulink: Aerospace model demonstrations and samples. |
|
simdemos\automoti ve |
- Simulink: Automotive model demonstrations and samples. |
|
s1mdemos\simfeatures - Simulink: Feature demonstrations and samples. |
||
simdemos\simgeneral |
- Simulink: General model demonstrations and samples. |
|
simdemos\simnew |
- Simulink: New features model demonstrations and samples. |
|
simulink\dee |
- Differential Equation Editor |
|
stateflow\statef1ow |
- Statef low |
|
stateflow\sfdemos |
- Statef low demonstrations and samples. |
|
statef low\ coder |
- Statef low Coder |
|
rtw\rtw |
- Real -Time Workshop |
|
rtw\rtwdemos |
- Real -Time Workshop Demonstrations: |
|
asap2\asap2 |
- (No table of contents file) |
|
asap2\user |
- (No table of contents file) |
|
cdma \cdma |
- CDMA Reference Blockset. |
|
cdma \cdmamasks |
- CDMA Reference Blockset mask 'helper functions. |
|
cdma \cdmamex |
- CDMA Reference Blockset S-Functions. |
|
cdma\cdmademos |
- CDMA Reference Blockset demonstrations and examples. |
|
commbl ks\commblks |
- Communications Blockset. |
|
commbl ks\commmasks |
- Communications Blockset mask helper functions. |
|
commbl ks\commmex |
- Communications Blockset S-functions. |
|
commbl ks\commbl ksdemos |
- Communications Blockset Demos. |
|
commbl ks\commbl ksobsol ete |
- Archived Simulink Files from Communications ToolboxVersion 1.5. |
|
comm\comm |
- Communications Toolbox. |
|
comm\commdemos |
- Communications Toolbox Demonstrations. |
|
comm\commobsolete |
- Archived MATLAB Files from Communications Toolbox Version 1.5. |
|
control \control |
- Control System Toolbox. |
|
control \ctrlguis |
- Control System Toolbox -- GUI support functions. |
|
control \ctrl obsolete |
- Control System Toolbox -- obsolete commands. |
|
control \ctrlutll |
- (No table of contents file) |
|
control \ctrl demos |
- Control System Toolbox -- Demos. |
|
dspblks\dspblks |
- DSP Blockset. |
|
dspblks\dspmasks |
- DSP Blocks'et mask helper functions. |
|
dspblks\dspmex |
- DSP Blockset S-Function MEX-files. |
|
dspblks\dspdemos |
- DSP Blockset demonstrations and examples. |
|
dsprtw\ut11_c |
- (No table of contents file) |
|
daq\daq |
- Data Acquisition Toolbox. |
|
daq\daqdemos |
- Data Acquisition Toolbox - Data Acquisition Demos. |
|
database\database |
- Database Toolbox. |
|
database\dbdemos |
Database Toolbox Demonstration Functions. |
|
database\vqb |
- Visual Query Builder functions. |
|
datafeed\datafeed |
- Datafeed Toolbox. |
|
datafeed\dfgui |
Datafeed Toolbox Graphical User Interface |
|
toolbox\dlals |
- Dials & Gauges Blockset |
|
tool box\exl Ink |
- (No table of contents file) |
|
fil terdesl gn\ filterdesi gn |
- Filter Design Toolbox. |
|
filterdesi gn\quantl zati on |
- (No table of contents file) |
|
fi1terdesi gn\ filtdesdemos |
- Filter Design Toolbox Demonstrations. |
|
finderiv\finderiv |
- Financial Derivatives Toolbox. |
|
ftseries\ftseries |
- Financial Time Series Toolbox |
|
ftseries\ftsdemos |
- (No table of contents file) |
|
ftseries\ftsdata |
- (No table of contents file) |
|
ftseries\ftstutorials |
- (No table of contents file) |
|
finance\ finance |
- Financial Toolbox. |
|
finance\calendar |
- Financial Toolbox calendar functions. |
|
finance\findemos |
- Financial Toolbox demonstration functions. |
|
finance\finsupport |
- (No table of contents file) |
|
toolbox\fixpo1nt |
- Fixed-Point Blockset |
||
fixpoint \fxpdemos |
- Fixed- Point Blockset Demos |
||
f1xpoint\obsolete |
- Obsolete Fixed-Point Blockset |
||
fuzzy\ fuzzy |
- Fuzzy Logic Toolbox. |
||
fuzzy \fuzdemos |
- Fuzzy Logic Toolbox Demos. |
||
garch\garch |
- GARCH Toolbox. |
||
garch\garchdemos |
- (No table of contents file) |
||
images\ images |
- Image Processing Toolbox. |
||
images\imdemos |
- Image Processing Toolbox --- demos and sample images |
||
instrument\ i nst rument |
- Instrument Control Toolbox. |
||
i nstrument\ Instrumentdemos |
- (No table of contents file) |
||
Imi\lmictrl |
- LMI Control Toolbox: Control Applications |
||
Imi\lmilab |
- LMI Control Toolbox |
||
toolbox\compiler |
- MATLAB Compiler |
||
toolbox\rptgen |
- , MATLAB Report Generator |
||
map\map |
- Mapping Toolbox |
||
map\mapdisp |
- Mapping Toolbox Map Definition and Display. |
||
map\mapproj |
- Mapping Toolbox Projections. |
||
mpc \mpccmds |
- Model Predictive Control Toolbox. |
||
mpc \mpcdemos |
- Model Predictive Control Toolbox |
||
motdsp\motdsp |
- Motorola DSP Developer's Kit |
||
motdsp\motdspmex |
- Motorola DSP Developers Kit |
||
motdspasm\bin |
- (No table of contents file) |
||
motdsp\motdspblks |
- Motorola DSP Developers Kit block libraries |
||
motdsp\motdspmasks |
- Motorola DSP blockset mask helper functions. |
||
motdsp\motdspdemos |
- MOTDSP Toolbox demonstrations and examples: |
||
mutools\conmands |
- Mu-Analysis and Synthesis Toolbox. |
||
mutools\subs |
- Mu-Analysis and Synthesis Toolbox. |
||
nnet\nnet |
- Neural Network Toolbox. |
||
nnet\nnutlls |
- (No table of contents file) |
||
nnet\nncontrol |
- Neural Network Toolbox Control System Functions. |
||
nnet\nndemos |
- Neural Network Demonstrations. |
||
nnet\nnobsolete |
- (No table of contents file) |
||
toolbox\ncd |
- Nonlinear Control Design Blockset |
||
toolbox\optim |
- Optimization Toolbox. |
||
toolbox\pde |
- Partial Differential Equation Toolbox. |
||
powersys\powersys |
- Power System Blockset. |
||
powersys \ powerdemo |
- Power System Blockset Demos. |
||
rtw\ada |
- Real -Time Workshop Ada Coder |
||
targets\ecoder |
- Real -Time Workshop Embedded Coder |
||
toolbox\reqmgt |
- Requirements Management Interface. |
||
tool box\ robust |
- Robust Control Toolbox. |
||
toolbox\sb2sl |
- SB2SL (converts SystemBuild to Simulink) |
||
signal\signal |
- Signal Processing Toolbox. |
||
signal \fdatoolgui |
- Signal Processing Toolbox GUI. |
||
signal \sptoolgul |
- Signal Processing Toolbox GUI |
||
signal\sigdemos |
- Signal Processing Toolbox Demonstrations. |
||
rtw\accel |
- Simulink Accelerator |
||
simulink\mdldiff |
- Model Differencing for Simulink and Stateflow |
||
simulink\simcoverage |
- Simulink Model Coverage Tool |
||
toolbox\rptgenext |
- Simulink Report Generator |
||
toolbox\splines |
- Spline Toolbox. |
||
toolbox\stats |
- Statistics Toolbox. |
||
toolbox\symbolic |
- Symbolic Math Toolbox. |
||
ident\ident |
- System Identification Toolbox. |
||
ident\idobsolete |
- (No table of contents file) |
||
ident\idguis |
- (No table of contents file) |
ident\idutils |
- (No table of contents file) . |
Ident\iddemos |
- (No table of contents file) |
ident\idhelp |
- (No table of contents file) |
wavelet\wavelet |
- Wavelet Toolbox. |
wavelet\wavedemo |
- Wavelet Toolbox Demonstrations. |
xpc\xpc |
- xPC Target |
build\xpcblocks |
- (No table of contents file) |
xpc\xpcdemos |
- xPC Target -- demos and sample script files. |
kernel \embedded |
- xPC Target Embedded Option |
MATLABR12\work |
- (No table of contents file) |
For more help on |
directory/topic, type "help topic". |
Этот внушительный список дает наглядное представление о пакетах прикладных программ - пакетах инструментов (пакетах расширений) (toolbox), увеличивающих возможности системы MATLAB и содержащих массу серьезных примеров применения системы.