MATLAB 8.0 (R2012b) — интегральные преобразования и графика Symbolic Math

№ 8’2013
PDF версия
Помимо символьных вычислений, новейшая система MATLAB .0 с пакетом расширения Symbolic Math Toolbox способна выполнять типовые символьные интегральные преобразования, чему и посвящена эта статья. В ней также описаны средства графической визуализации символьных вычислений, которые MATLAB приобрела благодаря интегрированной в нее системе компьютерной алгебры MuPad. Они открывают новые возможности системы MATLAB в области аналитических расчетов и смешанного (символьного и численного) моделирования.

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

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

Созданы векторные цифровые осциллографы и анализаторы спектра, решающие задачу преобразования частотного спектра сигналов в их временную зависимость [2–5]. А совсем недавно появились многодоменные осциллографы (серия MDO4000 корпорации Tektronix) для анализа сигналов во временной, логической и частотной областях одновременно.

Столь же велико значение преобразований Лапласа, которые лежат в основе операторного метода расчета линейных устройств и систем в радио- и электротехнике, а также во многих других областях техники. В автоматике и технике автоматического управления широко используются Z‑преобразования.

К специальным преобразованиям относится и графика символьных математических систем. Она преобразует аналитическое представление выражений в графическое. Двух- (2D) и трехмерная (3D) графика символьных систем существенно отличается от векторной и матричной точечной графики MATLAB. Обычно она проще и нагляднее, причем не требует построения опорных точек и точечных плоскостей и не нуждается в аппарате интерполяции данных. Многие функции такой графики имеют адаптивные алгоритмы, существенно улучшающие качество изображения в местах разрывов и при других особенностях функций.

 

Подготовка системы MATLAB к работе

Поскольку MATLAB 8.0 — сложная профессиональная система, время от времени перед работой ее стоит приводить в порядок. Для этого после запуска системы откройте каталог Home и в нем список Layout. В нем выберите команду Default (по умолчанию). Интерфейс примет исходный вид по умолчанию (рис. 1). Все открытые окна MATLAB указываются галочкой в списке команды Layout. Отключите окна, которые не нужны, с помощью кнопок в конце их титульных строк с изображением наклонного крестика (в MATLAB под Windows).

Вид интерфейса пользователя MATLAB по умолчанию

Рис. 1. Вид интерфейса пользователя MATLAB по умолчанию

 

Прямое и обратное символьные преобразования Фурье

Начнем с описания преобразований Фурье. Прямым преобразованием Фурье является следующее:

где f(x) — скалярная функция независимой переменной x.

Это преобразование реализуется функцией fourier:

  • F=fourier(f) — возвращает F(w) и определяет независимую переменную с помощью функции findsym (по умолчанию это x). Если f = f(w), то возвращается функция F = F(t). Таким образом, преобразование имеет вид f = f(x) F = F(w).
  • F=fourier(f,v) — аналогична ранее приведенной функции, но заменяет аргумент возвращаемой функции F (по умолчанию w) на v, то есть реализует преобразование Фурье по формуле:

  • F=fourier(f,u,v) — аналогична исходной функции, но заменяет аргумент x в f(x) на u, а аргумент w в F(w) на v, то есть дает следующее преобразование:

Приведем примеры прямого преобразования Фурье, осуществляемого в командной строке MATLAB:

 

>> syms f F x w u v

>> fourier(0.1*x)

ans =

(pi*dirac(w, 1)*i)/5

>> F=fourier(sin(x),v)

F =

-pi*(dirac(v - 1) - dirac(v + 1))*i

>> syms t

>> f=1/t^2;

>> F=fourier(f,v)

F =

pi*v*(2*heaviside(-v) - 1)

>> fourier(exp(-x^2),x,t)

ans =

pi^(1/2)*exp(-t^2/4)

>> fourier(diff(sym(‘F(x)’)),x,w)

ans =

w*fourier(F(x), x, w)*i

Обратное преобразование Фурье обычно реализуется формулой:

Для его осуществления используется функция ifourier(F). Она возвращает результат обратного преобразования Фурье над скалярной символьной функцией F независимой переменной w. По умолчанию возвращается функция F(x). Таким образом, преобразование имеет вид:

F = F(w) f = f(x).

Если F = F(x), то данная функция возвращает функцию переменной t:

f = f(t).

Существуют и другие формы обратного преобразования Фурье:

  • f = fourier(F,u) — осуществляет обратное преобразование Фурье с заменой x в f(x) на u. Таким образом, реализуется следующая формула преобразования:

  • f=ifourier(F,v,u) — осуществляет обратное преобразование Фурье, заменяя x в f(x) на u и w в F(w) на v, реализуя следующую формулу преобразования:

Примеры обратного преобразования Фурье в командной строке:

>> syms t x u w

>> ifourier(sin(w))

ans =

(dirac(x - 1)*i)/2 - (dirac(x + 1)*i)/2

>> ifourier(w*exp(-2*w)*sym(‘Heaviside(w)’))

ans =

fourier(w*exp(-2*w)*Heaviside(w), w, -x)/(2*pi)

>> ifourier(1/(1 + 2*w),u)

ans =

(exp(-(u*i)/2)*(2*heaviside(u) - 1)*i)/4

>> ifourier(sym(‘fourier(f(x),x,w)’),w,x)

ans =

f(x)

На рис. 2 показано выполнение этих преобразований в окне командного режима системы MATLAB. Никаких объявлений о применении функций Symbolic Math в этом случае не требуется, и возможна организация совместных численных и аналитических вычислений.

Выполнение преобразований Фурье в окне командного режима

Рис. 2. Выполнение преобразований Фурье в окне командного режима

Эти преобразования могут выполняться также в окнах ноутбуков встроенной системы компьютерной алгебры MuPad (рис. 3).

Выполнение преобразований Фурье в окне ноутбука MuPad

Рис. 3. Выполнение преобразований Фурье в окне ноутбука MuPad

Однако здесь следует использовать функции преобразований Фурье в полном виде — fourier(f,t,w) или ifourier(F,w,t). В списке их параметров используются исходные функции fили F, функции времени t и круговой частоты w.

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

 

Прямое и обратное преобразования Лапласа

Прямое преобразование Лапласа осуществляется по основной формуле:

где s — оператор Лапласа.

Для осуществления этого преобразования используется функция laplace:

  • L=laplace(F) — обеспечивает прямое преобразование Лапласа для скалярной символьной функции f(t) с независимой переменной t. Результат — функция L(s). Если f = f(s), то возвращается функция L = L(t).
  • L=laplace(F,t) — обес печивает прямое преобразование Лапласа по модифицированной формуле:

  • L=laplace(F,w,z) — обеспечивает преобразование Лапласа по формуле:

Примеры прямого преобразования Лапласа:

  • laplace(t^5) — возвращает 120/s6;
  • laplace(exp(a*s)) — возвращает 1/(ta);
  • laplace(sin(w*x),t) — возвращает w/(t2+w2);
  • laplace(cos(x*w),w,t) — возвращает t/(t2+x2);
  • laplace(x^sym(3/2),t) — возвращает 3/4π1/2/t5/2;
  • laplace(diff(sym(‘F(t)’))) — возвращает laplace(F(t),t,s)sF(0).

Обратное преобразование Лапласа выполняется по следующей главной формуле:

где c — действительное число, при котором все особенности функции L(s) расположены слева от вертикали s = c; i — мнимая единица.

Это преобразование осуществляется функцией ilaplace:

F=ilaplace(L) — возвращает результат обратного преобразования Лапласа для скалярной символьной функции L с независимой переменной, по умолчанию — s. Если L = L(t), то возвращается функция F = F(x).

F=ilaplace(L,y) — возвращает результат обратного преобразования Лапласа по формуле:

F=ilaplace(L,y,x) — выполняет результат обратного преобразования Лапласа по формуле:

Примеры обратного преобразования Лапласа:

  • ilaplace(1/(s–1)) — возвращает exp(t);
  • ilaplace(1/(t^2+1)) — возвращает sin(x);
  • ilaplace(t^(–sym(5/2)),x) — возвращает 4/3/π1/2x3/2;
  • ilaplace(y/(y^2+w^2),y,x) — возвращает cos(wx);
  • ilaplace(sym(‘laplace(F(x),x,s)’),s,x) — возвращает F(x).

 

Прямое и обратное Z‑преобразования

Z‑преобразование особенно широко используется в теории автоматического управления. Оно описывается следующим соотношением:

которое вычисляет Z‑преобразование для скалярной функции f независимой переменной n (по умолчанию).

В MATLAB оно реализуется функцией ztrans:

  • F=ztrans(f) — обеспечивает прямое Z‑преобразование вида f = f(n) F = F(z), где n — символьная переменная, определяемая функцией findsym. Если f = f(z), то ztrans(f) возвращает F = F(w).
  • F=ztrans(f,w) — возвращает F, заменяя аргумент по умолчанию z на w, то есть осуществляет преобразование:

F=ztrans(f,k,w) — дает Z‑преобразование по формуле:

Примеры прямого Z‑преобразования в командной строке:

  • Ztrans(2^n) — возвращает z/(z–2);
  • Ztrans(sin(k*n),w) — возвращает sin(kw/(1–2wcos(k)+w2);
  • Ztrans(cos(n*k),k,z) — возвращает
    z(–cos(n)+z)/(–2zcos(n)+z2+1);
  • Ztrans(cos(n*k),n,w) — возвращает
    w(–cos(k)+w)/(–2wcos(k)+w2+1);
  • Ztrans(sym(‘f(n+1)’)) — возвращает
    ztrans(f(n),n,z)–f(0)z.

Обратное Z‑преобразование для функции F(n) задается выражением:

где n = 1, 2, …; R — положительное число, определяющее аналитичность функции F(z) вне круга |z| = R.

Оно реализуется следующей функцией:

  • f=iztrans(F) — возвращает результат обратного Z‑преобразования для скалярной символьной функции F независимой переменной z. Это преобразование определяется как F = F(z) f = f(n). Если F = F(n), то iztrans возвращает функцию f = f(k).
  • f=iztrans(F,k) — дает то же, но заменяет аргумент возвращаемой функции по умолчанию n на k. Таким образом, она реализует преобразование по формуле:

где k = 1, 2, …

f=iztrans(F,w,k) — делает еще одну замену, заменяя аргумент исходной функции (по умолчанию — z) на v, реализуя соотношение:

Эти преобразования можно проверить по следующим примерам:

  • iztrans(z/(z–2)) — возвращает 2n;
  • iztrans(exp(x/z),z,k) — возвращает xk/k!.

 

Графические функции статистики пакета Symbolic Math

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

Для отображения статистических данных часто используются столбцовые диаграммы (рис. 4).

Плоские столбцовые диаграммы трех наборов данных

Рис. 4. Плоские столбцовые диаграммы трех наборов данных

Для повышения наглядности таких диаграмм они выполняются трехмерными (рис. 5).

Трехмерная столбцовая диаграмма трех наборов данных

Рис. 5. Трехмерная столбцовая диаграмма трех наборов данных

Диаграммы представляют данные без обработки. Гистограммы — это диаграммы с обработкой данных. Чаще всего это нормированные данные относительно суммы высот всех столбцов. Двумерные гистограммы строятся функцией plot::histogram2d (рис. 6).

Трехмерная столбцовая диаграмма трех наборов данных

Рис. 6. Столбцовые плоские гистограммы

Хорошей наглядностью обладают круговые гистограммы (рис. 7).

Круговая плоская гистограмма

Рис. 7. Круговая плоская гистограмма

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

Круговая объемная гистограмма

Рис. 8. Круговая объемная гистограмма

К специальным графическим функциям статистики относятся функции plot::Boxplpot. Их построение показано на рис. 9. В отечественной литературе этот вид графики пока нашел небольшое применение.

Диаграммы типа Boxplot

Рис. 9. Диаграммы типа Boxplot

Часто необходимо отображать данные точками, а результат вычислений — сплошной кривой. На рис. 10 показано, как это делается с помощью функции plot::QQplot. Так обычно задают и данные эксперимента, и расчета.

Графики и точки данных

Рис. 10. Графики и точки данных

В практике научно-технических расчетов важное место занимает регрессия. Линейная регрессия заключается в нахождении параметров прямой регрессии, при которых эта прямая проходит в облаке точек исходных данных с наименьшей среднеквадратической погрешностью (метод наименьших квадратов). На рис. 11 показаны все средства для проведения линейной регрессии и ее графической визуализации. Собственно регрессия выполняется функцией stats::linreg(x.y) пакета расширения stats::MuPad.

Линейная регрессия (точки данных и прямая линия регрессии)

Рис. 11. Линейная регрессия (точки данных и прямая линия регрессии)

Нелинейная регрессия требует нахождения параметров нелинейной функции. Она намного сложнее, но в пакете расширения Symbolic Math есть довольно простые средства и для ее проведения (рис. 12). Эти средства также входят в состав пакета расширения stats::MuPad.

Нелинейная регрессия (точки данных и кривая линия регрессии)

Рис. 12. Нелинейная регрессия (точки данных и кривая линия регрессии)

На рис. 13 показано построение графика функции логистического распределения вероятности. Это одна из множества типовых функций статистики, которая входит в состав пакета расширений stats::MuPad.

График функции логистического распределения

Рис. 13. График функции логистического распределения

 

Графики функций одной переменной пакета Symbolic Math

В пакет Symbolic Math введены удобные команды класса ezplot:

  • ezplot(f) — строит график символьно заданной функции f(x) независимой переменной x в интервале [–2π, 2π].
  • ezplot(f,xmin,xmax) или ezplot(f,[xmin, xmax]) — делает то же, но позволяет задать диапазон изменения независимой переменной x от xmin до xmax.
  • ezplot(f,[xmin xmax],fig) — обеспечивает спецификацию графика с помощью параметра fig.

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

График функции tan(x)

Рис. 14. График функции tan(x)

Пример построения графика функции tan(x), имеющего разрывы (рис. 14):

>> ezplot(‘tan(x)’,0,20)

>> grid on

 

Полярные графики

График функции f(t) в полярной системе координат строит графическая функция ezpolar (рис. 15):

>> syms t

>> ezpolar(sin(2*t))
Пример построения графика в полярной системе координат

Рис. 15. Пример построения графика в полярной системе координат

Контурные графики пакета Symbolic Math

Помимо упомянутых графических функций, пакет Symbolic поддерживает построение графиков различных типов. Функция ezcontour служит для построения контурных графиков функций вида f(x,y). Так, команды:

>> syms x y

>> ezcontour(sin(x*y),[-3,3],30)

строят контурный график функции sin(xy), представленный на рис. 16.

Пример построения контурного графика командой ezcontour

Рис. 16. Пример построения контурного графика командой ezcontour

Похожая на рассмотренную выше функция ezcontourf строит контурные графики с цветной функциональной окраской (fill) областей между линиями равного уровня (рис. 17):

Контурный график с функциональной окраской

Рис. 17. Контурный график с функциональной окраской

>> ezcontourf(sin(x)*sin(y),[-3,3], [-3,3],50)

Другой пример (рис. 18):

Контурный график функции sin(хy) с функциональной окраской

Рис. 18. Контурный график функции sin(хy) с функциональной окраской

>> ezcontourf(sin(x*y),[-3,3], [-3,3],10)

3D-графики параметрически заданных функций с анимацией

Для построения трехмерных графиков параметрически заданных функций служит команда ezplot3:

  • ezplot3(x,y,z) — строит трехмерный график функции, заданной параметрически уравнениями x(t), y(t), z(t) при настройке по умолчанию.
  • ezplot3(x,y,z,[tmin tmax]) — строит трехмерный график функции, заданной параметрически уравнениями x(t), y(t), z(t) при изменении аргумента tот tmin до tmax.
  • ezplot3(…,‘animate’) — аналогична предшествующим командам, но обеспечивает анимацию при построении графика.

Следующий пример показывает, как можно построить пространственную спираль с элементами анимации:

>> syms t; ezplot3(cos(t),sin(t),t,[0 20],‘animate’)

При наличии опции animate по спирали движется шарик, который можно видеть на рис. 19.

Построение объемной спирали и движущегося по ней шарика

Рис. 19. Построение объемной спирали и движущегося по ней шарика

Можно повторить движение шарика, нажав кнопку Repeat в графическом окне. Эта кнопка и шарик отсутствуют, если нет опции animate.

 

Графики поверхностей в Symbolic Math

Команда ezsurf служит для построения графиков поверхностей, задаваемых функциями двух переменных f(x,y):

>> syms x y

>> ezsurf(real(asec(x+i*y)))

Построенный в этом примере график представлен на рис. 20.

Пример построения поверхности командой ezsurf

Рис. 20. Пример построения поверхности командой ezsurf

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

Пример вращения поверхности мышкой и вывода координат точки

Рис. 21. Пример вращения поверхности мышкой и вывода координат точки

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

Пример построения поверхности командой ezsurfc и контурного графика под поверхностью

Рис. 22. Пример построения поверхности командой ezsurfc и контурного графика под поверхностью

 

ezsurfc(‘y/(1 + x^2 + y^2)’,[-5,5,-2*pi,2*pi],

С помощью MATLAB-функции subplot (m,n,p) можно в одном окне строить несколько графиков для удобного сравнения их друг с другом. Здесь mи n — число графиков по горизонтали и вертикали, p — текущий номер графика.

Следующая программа строит четыре графика параболической поверхности (рис. 23):

Четыре графика параболической поверхности

Рис. 23. Четыре графика параболической поверхности

syms x y

z = x^2 + y^2;

subplot(2, 2, 1); ezsurf(z)

subplot(2, 2, 2); ezsurf(sin(z/10))

subplot(2, 2, 3); ezsurf(atan(z))

subplot(2, 2, 4); ezsurf(cos(z/10))

Другая программа строит четыре графика синуса этой поверхности (рис. 24):

Четыре графика синуса параболической поверхности

Рис. 24. Четыре графика синуса параболической поверхности

syms x y

z = x^2 + y^2;

subplot(2, 2, 1); ezsurf(sin(z/100))

subplot(2, 2, 2); ezsurf(sin(z/50))

subplot(2, 2, 3); ezsurf(sin(z/20))

subplot(2, 2, 4); ezsurf(sin(z/10))

Можно построить разные типы графиков одновременно (рис. 25). Это реализует программа:

Четыре графика разного типа в одном окне

Рис. 25. Четыре графика разного типа в одном окне

syms x y

z = x^2 + y^2;

u = sin(z); v = cos(x*y);

[X, Y] = meshgrid(-1:.1:1,-1:.1:1);

U = subs(u, [x y], {X,Y}); V = subs(v, [x y], {X,Y});

subplot(2, 2, 1); ezplot(sin(2*x)/x); grid on

subplot(2, 2, 2); ezplot(sin(x) + sin(y) == sin(x*y))

subplot(2, 2, 3); ezsurf(z^2)

subplot(2, 2, 4); quiver(X, Y, U, V)

 

Графика пакета расширения MuPad

Графика пакета MuPad возможна только в ноутбуках этого пакета расширений. Порой она дает возможности, отсутствующие в графике Symbolic Math Toolbox. Например, с помощью функции plotfunc2d можно построить сложные 2D-функции и виды зависимости с особенностями (рис. 26).

Сложные типы двумерных графиков

Рис. 26. Сложные типы двумерных графиков

Цвет кривых в 2D-графиках обычно задается автоматически, но им легко управлять (рис. 27).

Рис. 27. Управление цветом двумерных графиков: а) начало; б) конец

Рис. 27а. Управление цветом двумерных графиков: начало;

Управление цветом двумерных графиков: а) начало; б) конец

Рис. 27б. Управление цветом двумерных графиков: конец

Функция plotfunc3d позволяет строить графики сложных поверхностей с резкими пиками и изгибами (рис. 28).

Сложные поверхности

Рис. 28. Сложные поверхности

Это достигается адаптивным алгоритмом построения таких графиков. Возможно построение на одном графике нескольких поверхностей, как непересекающихся, так и пересекающихся (рис. 29).

Графики нескольких поверхностей на одном рисунке

Рис. 29. Графики нескольких поверхностей на одном рисунке

 

Пакет plot:: — логографика, деревья, фракталы и графические примитивы

В интегрированную с MATLAB систему MuPad входит пакет расширения plot::, существенно расширяющий графические средства этих систем. Функции пакета указываются с загрузкой этого пакета, то есть перед ними ставится имя пакета plot::. Например, функция plot::Scene2d позволяет объединять несколько 2D-графиков в одном (рис. 30).

Четыре 2D-графика в одном

Рис. 30. Четыре 2D-графика в одном

Функция plot::Funcion3d используется для адаптивного построения графиков аналитических функций с качественной визуализацией их разрывов и особенностей. Обратите внимание на возможность вывода надписей на графиках на русском языке. Функции plot::Scene3d и plot::Function3dпозволяют строить на одном графике несколько 3D-фигур или поверхностей и определять линии их пересечения (рис. 31).

Построение конуса с пересекающей его плоскостью и плоскости с проекцией линии пересечения

Рис. 31. Построение конуса с пересекающей его плоскостью и плоскости с проекцией линии пересечения

Пакет plot:: имеет «черепашью» графику, изначально присущую языку программирования Лого [6]. В Лого «черепашка» управляется командами «вперед» — L, «повернуть направо на угол π» — PHI и т. д. Подобная графика в пакете расширения plot:: управляет просто движением точки (рис. 32) с поддержкой анимации.

Логографика в пакете расширения plot::

Рис. 32. Логографика в пакете расширения plot::

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

Примеры построения фракталов

Рис. 33. Примеры построения фракталов

Раздел Lsys пакета имеет средства для построения графиков фракталов (рис. 33) и деревьев (рис. 34). Эти новые средства поддерживают цвет.

Примеры построения деревьев

Рис. 34. Примеры построения деревьев

Пакет расширения MuPad plot:: имеет множество графических примитивов для построения заданных аналитическими выражениями типовых графических объектов (рис. 35): различных отрезков линий и дуг, окружностей, конусов, цилиндров, сфер, поверхностей и т. д. Их можно выводить в заданное в списке параметров место, комбинировать друг с другом и строить сложные двумерные и трехмерные графические объекты.

Примеры построения графических трехмерных примитивов

Рис. 35. Примеры построения графических трехмерных примитивов

 

Символьно-графический калькулятор пакета Symbolic Math

Команда MATLAB funtool создает интерактивный графический калькулятор (рис. 36), позволяющий быстро построить две функции одной переменной — f(x) и g(x). Например, одна может задавать собственно функцию, а другая — ее производную или интеграл. По умолчанию заданы функции f(x) = x и g(x) = 1, предел изменения x от –2π до 2π и a = 1/2. Все окна масштабируемые и перемещаемые.

Внешний вид калькулятора и окон двух графиков

Рис. 36. Внешний вид калькулятора и окон двух графиков

Верхний ряд кнопок калькулятора относится только к функции f(x) и задает операции дифференцирования, интегрирования, инвертирования и др. Второй ряд клавиш выполняет операции масштабирования и сдвига f(x) с применением параметра a. Третий ряд клавиш предназначен для осуществления бинарных операций над функциями f(x) и g(x), например, f+g заменяет f(x) на f(x)+g(x), а swap меняет f(x) и g(x) местами. Калькулятор имеет особую память для функций в виде списка fxlist. Четвертый ряд клавиш служит для работы с памятью калькулятора и иных операций:

  • Insert — помещает текущую функцию в список функций.
  • Cycle — выполняет текущую функцию из списка.
  • Delete — удаляет выделенную функцию из списка.
  • Reset — устанавливает f, g, x, a и fxlist в исходное состояние.
  • Help — выводит описание калькулятора.
  • Demo — запускает демонстрационный пример.
  • Close — завершает работу с калькулятором.

На рис. 37 показано построение графика функции f(x) = sin(x)/x и ее производной — график g(x). Для получения этих графиков нужно было ввести f(x), а затем нажать клавишу df/dx и клавишу swap.

Графики функции sin(x)/x и ее производной

Рис. 37. Графики функции sin(x)/x и ее производной

Кнопка Cycle позволяет просмотреть графики ряда интересных функций (рис. 38) в качестве примера. Кнопкой Demo можно запустить демонстрацию возможностей вычислителя и графопостроителя. Список демонстрируемых функций можно изменить или пополнить, в частности, оставив в нем только интересующие вас функции.

Фрагмент демонстрации построения функций из списка fxlist

Рис. 38. Фрагмент демонстрации построения функций из списка fxlist

Калькулятор является весьма удобным средством визуализации 2D-графиков различных функций и выражений.

 

Заключение

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

Литература
  1. www.mathworks.com
  2. Дьяконов  В. П. MATLAB R2006/2007/2008 + Simulink 5/6.7. Основы применения. 2‑е изд., доп. и перераб. М.: СОЛОН-Пресс, 2008.
  3. Дьяконов  В. П. MATLAB. Полный самоучитель. М.: ДМК-Пресс, 2012.
  4. Дьяконов  В. П. MATLAB и Simulink для радиоинженеров. М.: ДМК-Пресс, 2011.
  5. Дьяконов  В. П., Пеньков А. А. MATLAB и Simulink в электроэнергетике. М.: Горячая линия – Телеком, 2009.
  6. Дьяконов  В. П. Язык программирования Лого. М.: Радио и связь, 1991.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *