Записи с меткой «представленных»

Директивы двумерной графики

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

  • AbsoluteDashing [ {dl, d2,…}]— задает построение последующих линией пунктиром со смежными (последовательными) сегментами, имеющими абсолютные длины dl, d2, … (повторяемые циклически). Значения длины di задаются в пикселях;
  • AbsolutePointSize [d] — задает построение последующих точек графика в виде кружков с диаметром d (в пикселях);
  • AbsoluteThickness [d] — задает абсолютное значение толщины (в пикселях) для последующих рисуемых линий;
  • Dashing [{rl, r2,…}] — задает построение последующих линий пунктиром с последовательными сегментами длиной rl, г2, …, повторяемыми циклически, причем ri задается как доля полной ширины графика;
  • PointSize [d] — задает вывод последующих точек графика в виде кружков с относительным диаметром d, заданным как доля общей ширины графика;
  • Thickness [r] — устанавливает для всех последующих линий толщину г, заданную как доля полной ширины графика.

Рисунок показывает построение графика функции Бесселя в виде пунктирной линии. Она задается с помощью графической директивы Dashing.
Применение графических директив совместно с опциями позволяет создавать графики самого различного вида, вполне удовлетворяющие как строгим требованиям, так и различным «извращениям» в их оформлении. далее…

Графика и звук

Графика и звук

  • Двумерные и трехмерные графики
  • Опции графических функций
  • Графические директивы
  • Построение графиков лоточкам
  • Получение информации о графических объектах
  • Перестройка и комбинирование графиков
  • Примитивы двумерной и трехмерной графики
  • Импорт графических изображений
  • Вставка объектов
  • Синтез звуков

Графика, как важнейшее средство визуализации вычислений, всегда была козырной картой системы Mathematica и во многом способствовала ее высокой репутации как мирового лидера среди систем компьютерной математики. Обширные графические возможности достигаются при небольшом числе встроенных функций графики за счет их модификации с помощью опций и директив. Благодаря этому Mathematica позволяет строить практически любые виды графиков. Для просмотра и изменения опций графика можно (выделив ячейку с графиком) воспользоваться описанным ранее инспектором опций, в котором есть соответствующий раздел. Однако в этом уроке мы инспектором опций пользоваться не будем — все необходимые опции будут вводиться в соответствующие функции так, как это принято делать при программировании задач графики.
Двумерная графика
 
Графическая функция Plot
Концептуально графики в системе Mathematica являются графическими объектами, которые создаются (возвращаются) соответствующими графическими функциями. Их немного, около десятка, и они охватывают построение практически всех типов математических графиков. Как уже отмечалось, достигается это за счет применения опций и директив.
Поскольку графики являются объектами, то они могут быть значениями переменных. далее…

Использование файлов других языков программирования

Использование файлов других языков программирования
 
Из функций для работы с файлами особо надо отметить следующую функцию-директиву:

  • Splice [ "file .mx" ] — вставляет в файлы на других языках программирования вычисленные выражения системы Mathematica, которые должны быть записаны в скобках вида <* и *>;
  • Splice ["infile", "outfile"] — читает файл infile, интерпретирует фрагменты, содержащиеся между скобками <* и *>, и записывает результат в файл outfile.

Эта возможность особенно существенна при использовании программ на языках программирования С (расширение .me), Fortran (расширение .mf) и ТеХ (расширение .mtex), для форматов которых Mathematica имеет средства конвертирования выражений (CForm, FortranForm и TexForm соответственно). Таким образом, имеется возможность экспорта выражений системы Mathematica в программы, составленные на этих языках.
Поясним применение функции-директивы Splice. Пусть имеется экспортированная программа на языке С, которая должна рассчитывать численное значение некоторого интеграла, и мы хотим получить формулу для этого интеграла средствами системы Mathematica. Допустим, она представлена файлом demo.me. Его можно просмотреть следующим образом:
!!demo.me
#include "mdefs.h"
double f(x)
double x;
{
double y;
у = <* Integrate[Sin[x]^5, x] *> ;
return (2*y- 1) ;
}
После исполнения функции Splice ["demo.me"] программа будет записана в файл demo.с, в котором выражение в скобках <*…*> заменено вычисленным значением интеграла (в форме CForm). Файл при этом будет выглядеть так:
!!demo.с
#include "mdefs.h" double f(x) double x;
{
double y;
у = -5*Cos(x)/8 + 5*Cos(3*x)/48- Cos(5*x)/80 ;
return (2*y- 1) ;
}
Запись определений
Из простых функций, обеспечивающих создание файлов с заданными определениями, надо отметить также функцию Save:
Save ["filename", symb1, symb2,…]
Она добавляет определения символов symbi к файлу filename (возможны упрощенные формы Save).
Приведем пример ее использования:
f[x_] = Sin[x] + y
у+ Sin[x]
у=а
а
Save["demol",f]
!!demol
f[x_] = у + Sin[x]
у = а
 
Другие функции для работы с файлами
 
В целом средства системы Mathematica обеспечивают возможности работы с различными файлами, присущие MS-DOS, без выхода из среды системы. Относящиеся к этой группе функции даны в приложении. Для этих функций характерно, что в момент выполнения они не дают видимого эффекта. далее…

Удаление введенных в ходе сессии определений

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

  • Clear [symbol1, symbol2,…] — стирает значения и определения для указанных символов (идентификаторов);
  • Clear ["pattern1", "pattern2",…] — стирает значения и определения для всех символов, чьи имена подходят под любой из указанных строковых шаблонов;
  • ClearAll [symboll, symbo!2,…] — стирает все значения, определения, атрибуты, сообщения и значения, принятые по умолчанию, связанные с указанными символами;
  • ClearAll ["patternl", "pattern2",…] — стирает все символы, чьи имена буквально подходят к одному из указанных строковых образцов;
  • ClearAttributes [s, attr] — удаляет attr из списка атрибутов символа s.

Применение большинства этих функций полезно разработчику серьезных приложений для систем Mathematica, например новых пакетов расширений и применений системы. В то же врем-я, для большинства пользователей вполне достаточно возможностей, предоставляемых системой по умолчанию — средств диалога с ее оболочкой и функций Input и Print.
Работа со строками
Хотя Mathematica ориентирована на математические приложения, в ней достаточно полно представлены функции для работы со строками (strings). Они могут потребоваться как для организации вывода текстовых сообщений (например надписей на графиках), так и для организации текстового диалога при разработке пакетов расширений и приложений системы. далее…

Функции Эйри

Функции Эйри
 
Функции Эйри представляют собой независимые решения линейного дифференциального уравнения w"- zw = 0. В Mathematica эти функции представлены следующим набором:

  • AiryAi [z] — возвращает значение функции Эйри Ai(z);
  • AiryAiPrime [ z ] — возвращает значение производной функции Эйри Ai ‘(z);
  • AiryBi [z] — возвращает значение функции Эйри Bi(z);
  • AiryBiPrime [z] — возвращает производную функции Эйри Bi'(z).

Ниже представлены примеры на вычисление функций Эйри.

Ввод (In)

Вывод (Out)

AiryAi [2. +3.*I]

0.00810446 + 0.131178 I

AiryAi[l.]

0.135292

AiryBi [2. +3.*I]

-0.396368 — 0.569731 I

AiryBiPrime [2 . +3 . *I]

0.349458 — 1.10533 I

С функциями Эйри связаны многие специальные математические функции. Эта связь проявляется и при выполнении различных математических операций над функциями Эйри:
D[AiryAi[x],х]
AiryAiPrime[x]
Integrate[AiryBi[x],x]
{xGamma[1/3 ] HypergeometricPFQ[{1/3 }, {2/3,4/3}, x3/9]} /{3 31/6 Gamma [ 2/3 ] Gamma [ 5/3 ]}
{ x2Gamma[1/3 ] HypergeometricPFQ[{1/3 }, {2/3,4/3}, x3/9]} /{3 35/6 Gamma [ 4/3 ] Gamma [ 5/3 ]}
Series[AiryBi[x],{x,0,5}]
{1 /31/6xGamma[2/3]}+ {31/6x /Gamma[1/3]}+ {x3 /631/6Gamma[2/3]}+{x4 /435/6Gamma[1/3]}+O[x]6
Графики функций, Эйри представлены на.
Нетрудно заметить, что при х < 0 они имеют колебательный характер.
 
Бета-функция и родственные ей функции
Класс бета-функций, имеющих специальное интегральное представление, в Mathematica представлен следующим набором:

  • Beta [а, b] — эйлерова бета-функция В(a, b);
  • Beta[z, а, b] — неполная бета-функция;
  • Beta[z0, zl, a, b] — обобщенная неполная бета-функция Beta [z1, a, b] — Beta[z0, а, b];
  • BetaRegularized [z, a> b] — регуляризированная неполная бета-функция I(z,a,b) = Betafz, a, b]/Beta[a, b];
  • BetaRegularized [z0, zl, a, b]—регуляризированная обобщенная неполная бета-функция I(z1l,a,b) — I(z0, a, b).

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

Ввод (In)

Вывод (Out)

Beta[l.,2.]

0.5

Beta[l.,2.,3.]

0.0833333

Beta[2.+3.*I,4.+6.*I,l,2]

4. — 12. I

BetaRegulari zed [0.1,1,2]

0.19

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

  • BernoulliB [n] — n-е число Бернулли;
  • BernoulliB [n, х] — полином Бернулли n-й степени;
  • Binomial [n, m] — биномиальный коэффициент;
  • Cyclotomic [n, х] — циклотомический полином порядка п по переменной х;
  • EulerE[n] — n-е число Эйлера;
  • EulerE[n, х] — n-й полином Эйлера;
  • EulerPhi [n] — эйлерова функция сумм ф(n) — количество положительных целых чисел, не превосходящих п и взаимно простых с и;
  • Fibonacci [n] — n-е число Фибоначчи;
  • Fibonacci [n, х] — полином Фибоначчи F n (x);
  • Multinomial [n1, n2, . . . ] — мультиномиальный коэффициент (n! + n2 + . . .) !/(n1! n2! …);
  • NBernoulliB [n] — численное значение n-го числа Бернулли;
  • NBernoulliB [n, d] — n-е число Бернулли с n?-цифровой точностью представления;
  • Pochhammer [а, n] — символ Похгамера;
  • StirlingSl [n, m] — число Стирлинга первого рода;
  • StirlingS2 [n, m] — число Стирлинга второго рода.

Ниже представлены примеры вычисления данных функций.

далее…

Гипергеометрические функции

Гипергеометрические функции
Класс гипергеометрических функций в системе Mathematica представлен следующими встроенными в ядро функциями:

  • HypergeometricU [a, b, z] — конфлюэнтная (вырожденная) гипергеометрическая функция U(a, b, z);
  • Hypergeometric0Fl [a, z] — гипергеометрическая функция 0 F 1 , (; a; z);
  • HypergeometriclFl [а, b, z] — вырожденная гипергеометрическая функция Куммера 2 F 1 (a; b; z);
  • Hypergeometric2Fl [a, b, с, z] — гипергеометрическая функция F 1 (a, b; c, z). Следующие примеры показывают вычисления гипергеометрических функций.

Ввод (In)

Вывод (Out)

HypergeometricOFl [2 . , 1 . ]

1.59064

HypergeometricOFl [2 . , 2 . +3 . *I]

1.22457 + 2.31372 I

HypergeometriclFl [1 . , 2 . , 2 . +3 . *I]

-1.03861 + 2.07929 I

Hypergeometric2Fl[l. ,2. ,3. ,2.+3.*I]

0.0291956 + 0.513051 I

На представлены графики ряда гипергеометрических функций, перечисленных выше. 
Следует отметить, что число этих функций в ядре новых версий даже несколько сокращено по сравнению с предшествующими версиями. Убраны довольно редко используемые функции, в имени которых имеется слово Regularized.
Эллиптические интегралы и интегральные функции
В ядро системы Mathematica входят эллиптические функции и функции вычисления эллиптических интегралов:

  • EllipticE [m] — полный эллиптический интеграл Е(т);
  • EllipticE [phi, m] — эллиптический интеграл второго рода Е(Ф\т);
  • EllipticExp [u, {a, b}] — обобщенный экспоненциал, связанный с эллиптической кривой у 2 = х 3 + ах 2 + bx,
  • EllipticExpPrime [и, {а, Ь}] — производная по первому аргументу EllipticExp[u, {a, b}];
  • Elliptic? [phi, m] — эллиптический интеграл первого рода Р(Ф\т);
  • EllipticK[m] — полный эллиптический интеграл первого рода К(т)\
  • EllipticLog [ {х, у}, {а, Ь}] — обобщенный логарифм, связанный ц эллиптической кривой у 2 = л 3 + а х 2 + b т,
  • EllipticNomeQ [m] — возвращает значение q = Exp[-PiEllipticK[l — m]/EllipticK[m]];
  • Elliptic?! [n, phi, m] — эллиптический интеграл третьего рода П(и; Ф\т);
  • Elliptic?! [n, m] — полный эллиптический интеграл П(п|т);
  • EllipticTheta [i, z, q] — эллиптическая тета-функция &.(z, q), где i = i, 2, 3 или 4;
  • EllipticThetaC [u, m] — эллиптическая тета-функция Невилла $ с (и, т);
  • EllipticThetaD [u, m] — эллиптическая тета-функция Невилла $ d (u, m);
  • EllipticThetaN [u, m] — эллиптическая тета-функция Невилла $ п (и, m ) ;
  • EllipticThetaPrime [i, z, q] — производная по второму аргументу эллиптической тета-функции в .(z, q), где i= I, 2, 3 или 4;
  • EllipticThetaS [u, m] — эллиптическая тета-функция Невилла u s (w, т);
  • FresnelCfx] — интеграл Френеля С(х),
  • FresnelS[x] — интеграл Френеля S(x);
  • InverseJacobi** [v, m] — обратная эллиптическая функция Якоби с обобщенным названием **. Возможны следующие наименования для **: CD , CN, CS, DC, DN, DS, NC, ND, NS, SC, SD И SN;
  • JacobiAmplitude [u, m] — амплитуда для эллиптических функций Якоби;
  • Jacobian — опция для FindRoot; может применяться для указания якобиана системы функций, для которых ищется корень;
  • Jacob!** [u, m] — эллиптическая функция Якоби с обобщенным именем **, которое может принимать значения CD, CN, CS, DC, DN, DS, NC, ND, NS, SC, SD и SN;
  • JacobiSymbol [n, m] — символ Якоби от n и in;
  • JacobiZeta [phi, m] — дзета-функция Якоби Z(Ф|m);
  • WeierstrassP [u, g2, g3] — эллиптическая функция Вейерштрасса Р,
  • WeierstrassPPrime [u, g2, g3] — производная эллиптической функции Вейерштрасса Р’по переменной и.

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

Ввод (In)

Вывод (Out)

EllipticE[0.1]

1.53076

EllipticE[Pi,0.1]

3.06152

EllipticF [Pi/2 ,0.1]

1.61244

EllipticPi[Pi,0.1]

-0.0266412- 1.09088 I

EllipticK[0.l]

1.61244

FresnelC[1.0]

0.779893

FresnelSfl.0]

0.438259

JacobiCD[l,0.2]

0.605887

JacobiZeta [ Pi , 0 . 5]

0

WeierstrassPPrime [1. ,2. ,3.]

-1.31741

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

далее…