Записи с меткой «представленных»
Директивы двумерной графики
Директивы двумерной графики
Еще одним важным средством настройки графиков являются графические директивы. Синтаксис их подобен синтаксису функций. Однако директивы не возвращают объектов, а лишь влияют на их характеристики. Используются следующие основные директивы двумерной графики:
- 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 |
Эллиптические функции (интегралы) широко используются в оптических расчетах и в астрофизике. На показаны графики некоторых эллиптических функций.
Рисунок показывает построение контурного графика на комплексной плоскости с параметрическим заданием функций, выраженных через функцию Якоби и эллиптические интегралы. Нетрудно заметить, что график описывает довольно сложную и специфическую поверхность, содержащую периодические пики и впадины.