Урок 4. Работа со справкой и примерами

1. Урок 4. Работа со справкой и примерами

 

Урок №4.

Работа со справкой и примерами

  • Работа с интерактивной справкой

  • Справка по объекту, группе объектов, ключевым словам

  • Просмотр текстов примеров и m-файлов

  • Работа со справочной системой

  • Просмотр документации в формате PDF

  • Демонстрационные примеры 

  • Запуск приложения Simulink

 

2. Интерактивная справка из командной строки

 

Интерактивная справка из командной строки

Вызов списка разделов интерактивной справки

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 и содержащих массу серьезных примеров применения системы.

Примечание

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

 

3. Справка по конкретному объекту

 

Справка по конкретному объекту

Для получения справки по какому-либо конкретному объекту используются команды

» 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. Справка по группе объектов

 

Справка по группе объектов

Пользователя системы 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.

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

 

5. Справка по ключевому слову

 

Справка по ключевому слову

Ввиду обилия в системе 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 с графическим пользовательским интерфейсом.

 

6. Дополнительные справочные команды

 

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

В командном режиме можно получить справочные данные с помощью ряда команд:

  •  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] для работы с пакетами расширения. В дальнейшем мы рассмотрим и другие команды, которые могут быть отнесены к группе дополнительных справочных команд.

 

7. Примеры, вызываемые из командной строки

 

Примеры, вызываемые из командной строки

Вызов списка демонстрационных примеров

Одним из самых эффективных методов знакомства со сложными математическими системами является ознакомление со встроенными примерами их применения.

Система 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 просмотреть с десяток примеров из интересующих их областей. Это займет от силы полчаса или даже меньше, но зато позволит оценить поистине неисчерпаемые возможности системы при решении сложных математических и физических задач, а также превосходные средства графической визуализации решений.

 

8. Пример - тест на быстродействие компьютера

 

Пример — тест на быстродействие компьютера

Большинство пользователей, включая автора данной книги, очень ревниво относится к вычислительной мощности своего компьютера. Поэтому в качестве первого демонстрационного примера возьмем тест на сравнительную оценку скорости работы — bench . Исполнив команду » bench можно наблюдать исполнение комплексного теста по оценке быстродействия компьютера при работе с MATLAB. Его итоги представляются в виде столбцовой диаграммы и таблицы, которые показаны на рис. 4.1.

Рис. 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 — одна из основных систем для выполнения математических расчетов.

 

1.gif

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

1a.gif

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

1b.gif

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

1c.gif

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

9. Что больше - e^pi или pi^?

 

Что больше — e ^ pi или pi ^ e?

Рассмотрим еще один простой пример, дающий ответ на сакраментальный вопрос о том, какое значение больше — e^pi или pi^e? Для запуска этого примера надо исполнить команду » e2pi и наблюдать красочное шоу — графики степенных функций х^у и у^х с построением на них линий заданных функций и оценкой их значений. Заключительный слайд этого примера показан на рис. 4.2.


Рис. 4.2. Заключительный слайд примера e2pi

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

» e=exp(1) 

e =

2.7183 

» e ^ pi 

ans =

23.1407 

» pi^e 

ans =

22.4592

Так можно легко убедиться в том, что все же е ^ рi больше, чем pi^e. Но тогда это означало бы, что вы просто технарь или физик-экспериментатор, а не истинный математик. Впрочем, у каждого есть свои взгляды на применение математики. И чьи лучше — вопрос весьма спорный.

 

2.gif

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

2a.gif

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

2c.gif

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

10. Анимация в пространстве - аттрактор Лоренца

 

Анимация в пространстве — аттрактор Лоренца

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


Рис. 4.3. График, иллюстрирующий работу аттрактора Лоренца

На рис. 4.3 показан пример визуализации динамического процесса в так называемом аттракторе Лоренца (пример lorenz) — колебательной системе, создающей хаотические и довольно замысловатые колебания. Наиболее наглядна их визуализация с помощью трехмерного фазового портрета колебаний, который приведен на рис. 4.3. К сожалению, на рис. 4.3 показана лишь завершающая стадия — на экране можно реально видеть движение образующей точки во времени и убедиться в своеобразной хаотичности колебаний. Для запуска анимации надо нажать кнопку Start (Пуск) окна графики.

 

3a.gif

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

3b.gif

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

11. Встроенные фигуры

 

Встроенные фигуры

MATLAB имеет ряд встроенных фигур, которые можно легко выводить на построение простым указанием их названия. Так, введя команду knot, можно задать построение сложной пространственной фигуры узла с функциональной окраской (рис. 4.4). При запуске этого примера нажатием кнопки Spinmap можно наблюдать изменение окраски, имитирующее как бы движение жидкости внутри замкнутой трубки, образующей данную фигуру.

Рис. 4.4. Построение фигуры-узла

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

 

4.gif

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

12. В паутине нейронных сетей

 

В паутине нейронных сетей

Даже десятка таких книг, как эта, едва ли хватит для исчерпывающего описания системы MATLAB со всеми ее пакетами расширения. Пакетам расширения посвящена монография [39]. Многие из таких пакетов, например по нейронным сетям, сплайнам, обработке сигналов, проектированию систем управления и т. д., относятся к самым современным и актуальным направлениям науки и техники. Нередко создание таких пакетов для системы MATLAB возглавили основатели указанных научных направлений, и по каждому такому направлению опубликованы десятки научных монографий.

Примером одного из таких направлений является пакет Neural Networks (нейронные сети). Эти сети основаны на аналогии с ячейкой нашего мозга — нейроном. Важное свойство нейрона — возможность к самообучению и распознаванию различных образных представлений и сигналов. В разделе справочной системы Examples and Demos (Примеры и демо) имеется множество конкретных примеров применения нейронных сетей. На рис. 4.5 показан вид демонстрационной панели одного из этих примеров.


Рис. 4.5. Демонстрационная панель примера на применение нейронных сетей

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

 

5.gif

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

13. Просмотр текстов примеров и 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, можно получить справку по любой конкретной функции или команде. Ввиду того что текст примера имеет довольно большой объем, мы ограничились приведением только его фрагмента, относящегося к первому слайду. Остальные слайды просто опущены — на их месте стоит многоточие.

 

14. Справочная система MATLAB 6.0

 

Справочная система MATLAB 6.0

Меню Help

Основной доступ к справочной информации обеспечивает меню Help (Помощь). Оно открывает доступ к справочным системам MATLAB и к информации о производителе MATLAB. Меню. Help показано на рис. 4.6.


Рис. 4.6. Окно MATLAB 6.0 с открытым меню Help

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


Рис. 4.7. Окно со сведениями о системе


В окне About MATLAB можно найти информацию о применяемой версии системы (в нашем случае это 6.0.0.88) и о дате ее создания (22 сентября 2000 г.). Номер лицензии ввиду его конфиденциальности опущен — точнее, заменен нулем.

 

6.gif

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

7.gif

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

15. Запуск справочной системы

 

Запуск справочной системы


Рис. 4.8. Основное окно справочной подсистемы

Для запуска справочной системы следует использовать одноименную команду Help меню MATLAB. При этом запустится браузер справочной системы (браузер помощи) и откроется ее окно, показанное на рис. 4.8.


Рис. 4.9. Один из документов справочной системы

Бросается в глаза, что справочная система новой версии MATLAB 6.0 существенно переработана даже внешне. Теперь она имеет вполне современный вид электронного документа. В левом окне расположены вкладки разделов справочной системы и дерево ее разделов, в правом — информация о текущем установленном разделе. От использования стандартного Интернет-браузера для вывода справочной информации в новой версии MATLAB отказались. Видимо, мода на всеобщее применение Интернет-браузеров начинает потихоньку отступать.

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

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

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

Рис. 4.10. Пример просмотра документа, посвященного созданию библиотек расширения Simulink

 

8.gif

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

9.gif

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

10.gif

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

16. Виды работы справочной системы

 

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

Как видно из рис. 4.8, окно разделов справочной системы имеет четыре вкладки, соответствующие четырем видам работы справочной системы:

  •  Contents (Содержание)— поиск информации по контексту (или попросту по обычному оглавлению с разделами справки);

  •  Index (Индекс)— поиск информации по индексному (алфавитному) каталогу; 

  •  Search (Поиск)— поиск всех тем справки, в которые включена заданная для поиска фраза или отдельное слово;

  •  Favorites — доступ к специальным возможностям справочной системы.

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

 

17. Работа с индексным каталогом

 

Работа с индексным каталогом

Мы уже привели пару примеров использования справочной системы по контексту. Теперь рассмотрим работу с индексным каталогом.

Будучи крупной математической системой, MATLAB имеет многие сотни функций, свойства которых запомнить трудно даже пользователю-профессионалу. Да и нужно ли? Справочная система MATLAB позволят найти информацию по нужной функции в считанные секунды.

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

 

18. Поиск по всей справке

 

Поиск по всей справке

Еще один полезный вид работы со справочной системой — поиск по заданному слову или фразе. Он происходит почти аналогично ранее приведенному случаю, но при открытой вкладке Search (Поиск) в левом окне справочной системы.

При выдаче данных о функциях используется справочник по ним (Function Reference) и обеспечивается автоматический поиск нужной функции.

 

19. Новые функции системы MATLAB 6.0

 

Новые функции системы MATLAB 6.0

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

Какие новые функции включены в систему MATLAB 6.0? Для ответа на этот вопрос просто наберите в поле поиска вкладки Search (Поиск) слово Functions (Функции) в режиме Full Text (полнотекстового поиска). Вы сразу найдете раздел New Functions (Новые функции) в левом окне и, выделив его мышью, получите в правом окне перечень новых функций.

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

 

20. Поиск функций по имени

 

Поиск функций по имени

Если вас не интересует всякая «шелуха», которой сопровождается поиск по заданному слову или фразе (особенно полнотекстовый поиск Full Text), то вы можете перейти к поиску по имени функции — тип поиска Function Name. Это предусмотрено на вкладке Search (Поиск).

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

 

21. Просмотр документации в формате 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 Мбайт, что делает документацию труднообозримой.

Рис. 4.11. Окно раздела справки с доступом к документам в формате PDF

В качестве примера работы с электронными документами формата PDF рассмотрим просмотр книги-справочника, предназначенной для начального знакомства с системой MATLAB (Getting Started with MATLAB) (Начинаем работу с MATLAB). Его титульная страница показана на рис. 4.12. Заметим, что она появляется после загрузки программы Acrobat Reader (временное окно этой программы не показано).

Рис. 4.12. Начальная страница электронного справочного руководства по MATLAB

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

Рис. 4.13. Одна из страниц электронного справочника в окне просмотра программы Acrobat Reader

Acrobat Reader — сама по себе серьезная программа, и ее описание в задачи данной книги не входит. Однако надо отметить, что работа с программой интуитивно понятна и не вызывает особых трудностей даже у не очень опытного пользователя. На рис. 4.13 дано представление одной из страниц с некоторым увеличением и в полностью открытом окне просмотра. На ней показан пример построения трехмерного графика с иллюстрацией эффектов освещения построенной поверхности от внешнего источника света. Из рис. 4.13 видно, что качество представления текстов, да и рисунков не очень высокое, даже при увеличении. Тем не менее оно достаточно для просмотра рисунков в обычном масштабе.

Как и все другие виды справочной документации, электронные книги по MATLAB подготовлены на английском языке (и кое-что на японском).

 

11.gif

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

12.gif

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

13.gif

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

22. Галерея примеров - MATLAB Demos

 

Галерея примеров — MATLAB Demos

Вызов галереи демонстраций

В меню Help имеется команда Demos, дающая доступ к галерее демонстрационных примеров применения системы MATLAB. При запуске этой команды появляется окно демонстрационных примеров MATLAB Demos, показанное на рис. 4.14.


Рис. 4.14. Окно демонстрационных примеров 

Это же окно можно вызвать выполнением команды demo в режиме диалога.

В этом окне имеются три панели:

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

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

  •  панель с перечнем примеров по выбранному разделу.

Выбрав раздел примеров (щелчком мыши), затем следует выбрать нужный пример. На рис. 4.14 показан выбор раздела Gallery и примера Hoops. После этого нажатием кнопки Run можно запустить m-файл с выбранным примером и наблюдать результат его работы (рис. 4.15).


Рис. 4.15. Результат выполнения примера Hoops

Этот пример демонстрирует построение сплетающихся в пространстве нескольких объемных обручей с функциональной цветной окраской. Кнопка Info окна открывает раздел справочной системы с описанием m-файла данного примера.

 

14a.gif

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

14b.gif

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

15.gif

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

23. Демонстрационные примеры Simulink

 

Демонстрационные примеры Simulink

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

На рис. 4.17 приведен пример просмотра одного из простых примеров — моделирования динамической системы второго порядка, описываемой нелинейными дифференциальными уравнениями Ван-дер-Поля. Сверху показана блок-схема моделируемого объекта, а снизу — результат моделирования его работы. Для пуска моделирования в панели инструментов окна системы Simulink нажимается кнопка пуска с изображением треугольника.

Рис. 4.16. Доступ к примерам пакета Simulink

Окно MAT LAB Demos дает возможность ознакомиться со многими десятками самых серьезных примеров применения системы MATLAB и позволяет убедиться в высоком качестве визуализации их решений. При необходимости всегда можно ознакомиться с файлом любого примера и использовать его для решения схожих задач.

Рис. 4.17. Пример моделирования нелинейной динамической системы второго порядка средствами пакета моделирования Simulink

 

16.gif

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

17a.gif

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

17b.gif

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

24. Копирование демонстрационных примеров

 

Копирование демонстрационных примеров

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

После этого надо вернуться в командное окно MATLAB и, используя команду Paste (Вставить) меню Edit, перенести текст примера из буфера в текущую строку ввода. Выполнив команду (как обычно, клавишей Enter), можно наблюдать исполнение примера, как показано на рис. 4.18.

Трудно сказать почему, но создатели MATLAB в последних версиях отказались от возможности копирования выделенного в примерах окна Demos текста программ с помощью контекстного меню правой клавиши мыши. Зато появилась возможность исполнения выделенных в справке (как на заданную функцию в командном режиме, так и в HTML-браузере справки) примеров с помощью команды Evaluate Selection в контекстном меню правой клавиши мыши в тексте справки.

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

Рис. 4.18. Исполнение скопированного примера из командного окна MATLAB

 

18.gif

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

25. Что нового мы узнали?

 

Что нового мы узнали?

В этом уроке мы научились:

  • Использовать команды справки.

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

  • Исполнять примеры и копировать их.

  • Просматривать листинги m-файлов командой type.

  • Работать с различными разделами справочной системы.

  • Просматривать документацию MATLAB в формате PDF.

  • Работать с демонстрационными примерами системы MATLAB.

  • Запускать приложение Simulink.