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

Дополнительные функции для работы со списками

Дополнительные функции для работы со списками

  • Accumulate [f, g [el, e2,…]] —возвращает g[el,f [el,e2] , f'[f [el,e2] ,e3 ],…].
  • Cases [{el, e2,…}, pattern] — возвращает список тех ei, которые соответствуют заданному шаблону pattern.
  • Cases [ {el,…}, pattern -> rhs] или Cases [ {el,…}, pattern :> rhs] — возвращает список значений rhs, соответствующих тем ei, которые подходят под шаблон pattern.
  • CoefficientList [poly, var] — возвращает список коэффициентов перед степенями переменной var в полиноме poly, начиная со степени 0.
  • CoefficientList [poly, {varl, var2,…}] — возвращает матрицу коэффициентов vari.
  • $CommandLine — список строк, возвращающий элементы командной строки, с помощью которой была вызвана Mathematica.
  • Compose [а, b, с, d] — возвращает а [b [с [d] ]].
  • ComposeList [ {f I, f2,…}, х] — формирует список формы {x,fl[x],
  • ComposeSeries [s, t, u,…] — объединяет степенные ряды, подставляя в ряд s ряд t, затем ряд и и т. д. Ряды (исключение для первого элемента) должны начинаться положительной степенью переменной.
  • Composition [f1, f2, f3,…] — представляет композицию функций fl, f2, f 3, …
  • FoldList[f, x, {a, b,…}]—возвращает {x, f [x, a] , f [f [x, a] ,b],…}.
  • HeadCompose [a, b, c, d] — возвращает a [b] [c] [d].
  • bistable — атрибут, который может назначаться символу f для указания того, что если функция f получит аргумент (аргументы) в виде списка, то и результатом будет являться список.
  • MemberQ [list, form, levelspec] — тестирует все части списка list, определяемые спецификацией уровня levelspec.
  • Partition [list,n] — разбивает список list на неперекрывающиеся части длиной п. Если количество элементов в списке не делится нацело на п, то последние k (k < п) элементов удаляются.
  • Partition [list, n, d] — как и предшествующая функция, дает разбиение списка, но со сдвигом между соседними подсписками, равным d. При d<n подсписки перекрываются.
  • Permutations [list] — генерирует список всех возможных перестановок элементов в списке list.
  • Position [expr, pattern] — возвращает список позиций в ехрг, в которых размещаются объекты, сопоставимые с указанным шаблоном pattern.
  • Position [expr, pattern, levspec] — выполняет поиск только объектов, находящихся на уровнях, указываемых levspec.
  • RealDigits [x] — возвращает список цифр в приближенном вещественном числе х вместе с количеством цифр слева от десятичной точки, присутствующих в научной записи числа.
  • RealDigits [x,b] — возвращает список цифр числа х по основанию Ь.
  • Signature [list] — дает сигнатуру перестановки, необходимой для размещения элементов списка list в каноническом порядке.
  • SingularValues [m] — возвращает особое значение декомпозиции для чис-ловой матрицы т. Результатом будет список {u, w, v}, где w — список ненулевых особых значений, а исходная матрица m может быть записана как Соп-jugate[Transpose[u]].DiagonalMatrix[w].v.
  • SequenceLimit [list] — возвращает по эпсилон-алгоритму Винна аппроксимацию предела последовательности, первые несколько членов которой зада-. ны в виде списка list. Этот алгоритм может давать конечные значения для расходящихся последовательностей.
  • SubValues [f ] — возвращает список правил преобразования, относящихся ко всем подзначениям (значениям для f [х,…][…] и т.д.), определенным для символа f.
  • $SuppressInputFormHeads — представляет собой список заголовков тех выражений, чьи Input Form не должны автоматически пересылаться в программный препроцессор.

Функции расширения списков нулями
PadLeft[list] PadLeft[list,n]
PadLeft[list,f,n] PadRight[list]
PadRight[list,n]
PadRightLeft[list,n]
Примеры их применения:

  • PadLeft [ {a,b, с}, 6] — возвращает список {0, 0, 0, a,b, с}.
  • PadRight [ {a,b, с}, 6] — возвращает список {а,b, с, 0, 0,0}.

Дополнительные матричные функции

  • MatrixExp [m] — возвращает экспоненциал матрицы m.
  • MatrixPower [m, n] — возвращает п-ю степень матрицы m.
  • MatrixQ [ехрг] — возвращает True, если ехрг является списком списков, который может представлять матрицу, иначе возвращает False.
  • MatrixQ [expr, test] — возвращает True, только если test дает True в применении к каждому элементу матрицы в ехрг.
  • Minors [m, k] — возвращает матрицу, составленную из определителей всех kxk субматриц m.
  • NullSpace [m] — возвращает список векторов, которые формируют базис для нулевого пространства матрицы m
  • Pivoting — опция, относящаяся к функциям декомпозиции матрицы; указывает, что должен выполняться поворот столбца. Результат имеет форму {Q, R, Р}, где Р — матрица перестановок, такая что имеет место соотношение M.P=Conjugate [Transpose [Q] ] .R, где М— начальная (исходная) матрица.
  • Pseudolnverse [m] — ищет псевдообратную матрицу для прямоугольной матрицыm.
  • QRDecomposition [m] — возвращает QR-разложение (декомпозицию) для числовой матрицы m. Результат представляет собой список {q, r), где q — ортогональная матрица, r — верхняя треугольная матрица.

ZeroTest — опция для LinearSolve и других линейных алгебраических функций; дает функцию для применения ее к сочетаниям (комбинациям) из матричных элементов с целью определения, следует ли полагать их равными нулю.

Дополнительные логические функции

Дополнительные логические функции

  • DigitQtstring] — вырабатывает значение True, если все символы строки string являются цифрами от 0 до 9, иначе возвращает False.
  • Identity [ехрг] — возвращает ехрг (операция тождественности).
  • Implies [p, q] — представляет логическую импликацию р => q.
  • IntegerQ [ехрг] — возвращает True, если ехрг является целым числом, иначе False.
  • LetterQ [string] — вырабатывает True, если все символы строки string являются буквами, иначе False.
  • ListQ [ехрг] — возвращает True, если ехрг является списком, иначе False.
  • LowerCaseQ [string] — вырабатывает значение True, если все символы в строке являются строчными буквами (буквами нижнего регистра), иначе False.
  • MachineNumberQ[х] — возвращает True, если х является числом в машинном формате с плавающей точкой, иначе возвращает False.
  • MatchQ[expr, form] — возвращает True, если модель (образец) form соответствует ехрг, и возвращает False в противном случае.
  • NumberQ [ехрг] — возвращает True, если ехрг является числом, иначе False.
  • OddQ[expr] — возвращает True, если ехрг нечетное целое, иначе False.
  • OptionQ[e] — возвращает True, если е может считаться опцией или списком опций, иначе False.
  • PrimeQ [ехрг] — дает True, если ехрг является простым числом, иначе дает False.
  • TrueQfexpr] — возвращает True, если expr имеет значение True, иначе возвращает False.
  • UnsameQ — применяется в виде: Ihs =1 = rhs; возвращает True, если выражение Ihs не тождественно (не идентично) rhs, в противном случае возвращает False.
  • ValueQ [expr] — возвращает True, если было определено значение для ехрг, иначе возвращает False.
  • VectorQ [expr] — возвращает True, если expr является списком, но ни один из его элементов, в то же время, сам не является списком, иначе возвращает False.
  • VectorQ [expr, test] — возвращает True, только если test, будучи применен к каждому элементу ехрr, дает True.

В систему Mathematica 8 помимо указанных выше функций дополнительно включены побитовые логические функции: BitAnd [n1, n2,…], BitOr [n1, n2,…], BitXor [n1, n2,…] и BitNot[n]. Их действие вполне очевидно.
Элементарные функции

  • Abs [ z ] — возвращает абсолютное значение для действительного числа и модуль для комплексного z.
  • ArcCos [z] — возвращает арккосинус комплексного числа z.
  • ArcCoshfz] — возвращает значение обратного гиперболического косинуса комплексного аргумента z.
  • ArcCot [ z ] — возвращает значение арккотангенса комплексного аргумента z.
  • ArcCoth [ z ] — возвращает обратный гиперболический котангенс комплексного аргумента z.
  • ArcCsc [ z ] — возвращает арккосеканс комплексного аргумента z.
  • ArcCsch [z] — возвращает обратный гиперболический косеканс комплексного аргумента z.
  • ArcSecfz] — возвращает арксеканс комплексного аргумента z.
  • ArcSech [z] — возвращает обратный гиперболический секанс комплексного аргумента z.
  • ArcSin [ z ] — возвращает арксинус комплексного аргумента z.
  • ArcSinhfz] — возвращает обратный гиперболический синус комплексного аргумента z.
  • ArcTan [z] — возвращает арктангенс аргумента z.
  • ArcTan [х, у] — возвращает арктангенс отношения у/х вещественных х и у для квадранта, в котором лежит точка (х, у).
  • ArcTanh [ z ] — возвращает обратный гиперболический тангенс комплексного аргумента z.
  • Cos [z] — возвращает косинус аргумента z.
  • Cosh[z] — возвращает гиперболический косинус аргумента z.
  • Cot [ z ] — возвращает значение котангенса аргумента z.
  • Coth [ z ] — возвращает гиперболический котангенс аргумента z.
  • Csc [z] — возвращает значение косеканса z.
  • Csch[z] — возвращает гиперболический косеканс z.
  • Ехр [ z ] — возвращает значение exp(z).
  • Log [ z ] — возвращает натуральный логарифм аргумента z (логарифм по основанию Е).
  • Log [b, z] — возвращает логарифм по основанию b.
  • Sec [ z ] — возвращает секанс аргумента z.
  • Sech[z] — возвращает гиперболический секанс z.
  • Sign [х] — возвращает -1, 0 или 1, если аргумент х, соответственно, отрицательный, нулевой или положительный.
  • Sign [z] — возвращает отношение z/Abs [z] для комплексного числа z.
  • sin [z] — возвращает синус аргумента z.
  • Sinh[z] — возвращает гиперболический синус z.
  • Sqrt [z] — возвращает корень квадратный из аргумента z.
  • Tan [ z ] — возвращает тангенс аргумента z.

Tanh[z] — возвращает гиперболический тангенс z.

Создание поверхностей вращения — SurfaceOfRevolution

Создание поверхностей вращения — SurfaceOfRevolution
Одна из задач компьютерной графики — создание поверхностей вращения. Средства для этого дает подпакет SurfaceOfRevolution. Они представлены следующими функциями:

  • SurfaceOfRevolution [f, {x, xmin, xmax} ] — строит поверхность, образованную вращением кривой, описанной функцией f, при изменении х от xmin до xmax, в плоскости ху;
  • SurfaceOfRevolution [{fx, f у}, {t, tmin, tmax} ] — строит поверхность, образованную вращением кривой, описываемой параметрически заданной на плоскости функцией {f x, f у}, в плоскости xz при изменении параметра t от tmin до tmax;
  • SurfaceOfRevolution[{fx,fy,fz},{t,tmin,tmax}] — строит поверхность, образованную вращением кривой, описываемой параметрически заданной в пространстве функцией {fx, fy, fz}, в плоскости xz при изменении параметра t от tmin до tmax;
  • SurfaceOfRevolution[f,{{x,xmin,xmax},{theta,thetamin,thetamax}}] — строит поверхность вращения кривой, описываемой функцией f, при угле theta, меняющимся от thetamin до thetamax.

Рисунок дает простой пример построения поверхности, образованной линией cos(x) при изменении х от 0 до 4л, вращающейся вокруг оси xz. Построение задано функцией SurfaceOfRevolution [f, {x, xmin, xmax} ]. В этом случае линия вращается в пределах угла от 0 до 2-я, поэтому поверхность получается круговой.
Следующий пример показывает ту же фигуру в другом положении. Это достигается сменой угла обзора с помощью опции viewVertical.
Пример применения функции SurfaceOfRevolutibn [ {fx, fy}, {t, tmin, tmax) ] представлен на. Формируется этакое декоративное яйцо на подставке. Заменив в определении функции Cos [u] на Sin [u], можно получить изображение рюмки. далее…

Создание графических форм — Shapes

Создание графических форм — Shapes
Нередко желательно придать трехмерным объектам определенную форму, например кольца или бублика. Некоторые возможности для этого дают функции под-пакета Shapes. Основной из них является функция Show [Graphics3D [shape] ], которая производит отображение формы со спецификацией shape.
С ней могут использоваться графические примитивы:

  • Cone [r, h, n] — конус с основанием радиуса r и высотой h на основе n-сто-роннего полигона;
  • Cylinder [r, h, n] — цилиндр радиуса r и высотой h на основе и-стороннего полигона;
  • Torus[rl,r2,n,m] — объемное кольцо с внешним и внутренним радиусами rl и г 2 и числом сторон каркаса n и m;
  • Sphere [r, n,m] — сфера радиуса г, составленная из многоугольников с параметрами n и m и числом сторон п(т — 2) + 2;
  • MoebiusStrip [rl, r2, n] — кольцо Мебиуса с радиусами rl и r2, построенное на основе полигона с 2n сторонами;
  • Helix[r,h,m,n] — плоская спираль радиусом г и высотой h c m витками на основе поверхности, разбитой на nxm четырехугольников;
  • DoubleHelix[r,h,m,n] — плоская двойная спираль радиусом r и высотой h с m витками на основе поверхности, разбитой на nxm четырехугольников.

Возможно указание фигур без параметров. далее…

Построение 3D-параметрических графиков — ParametricPlot3D

Построение 3D-параметрических графиков — ParametricPlot3D
Трехмерные графики с параметрически заданными функциями, описывающими положение их точек, относятся к числу наиболее сложных, но в то же время весьма эффектных. В подпакете ParametricPlotSD определены функции, упрощающие подготовку таких графиков:

  • ParametricPlot3D[{fx,fy,fz},{u,u0,ul,du},{v,c0,vl,dv}] — строит трехмерную поверхность, заданную параметрически функциями f x, f у и f z от переменных и и v с заданными диапазонами изменения и приращениями du и dv;
  • PointParametricPlot3D[ { fx, f у, f z},{u,u0,ul,du}] — строит точками трехмерную поверхность, заданную параметрически функциями fx, f у и f z от одной переменной и с заданным диапазоном изменения и приращением du;
  • PointParametricPlot3D[{fx,fy,fz},{u,u0,ul,du),{v,c0,vl,dv}] — строит точками трехмерную поверхность, заданную параметрически функциями fx, f у и f z от переменных и и v с заданными диапазонами изменения и приращениями du и dv.

Обратите внимание на то, что выбором диапазона изменения углов можно получить вырез сферы. Окраска поверхности осуществляется автоматически.
На показан пример применения функции PointParametricPlotSD. далее…

Специальные типы трехмерных графиков — Graphics3D

Специальные типы трехмерных графиков— Graphics3D
 
В подпакете Graphics3D, загружаемом командой
<<Graphics`Graphics 3D`
имеется ряд программ для простого построения трехмерных графиков. Они описаны ниже с примерами:

  • BarChart3D[ {{ zll, z!2,…},{z21, z22 },…} ] — строит трехмерную столбцовую диаграмму по наборам данных высот столбцов z 11 , z п , … ;
  • BarChart3D[ {{{zll, stylell}, {z21, style21},…} ] — строит трехмерную столбцовую диаграмму по наборам данных высот столбцов z u , z vl , … с указанием спецификации стиля для каждого столбца.

Нетрудно заметить, что функция BarChartSD автоматически задает стиль и цвет построения столбцов диаграммы. Эта функция имеет массу опций, с помощью которых можно менять вид диаграммы. Как обычно, перечень опций можно вывести с помощью команды Options [BarChart3D].

  • Scatter Plot 3D [{ {x1, yl, zl}, {х2, у2, z2 },…}] — строит точки в пространстве по их заданным координатам. При использовании опции Plot-Joined->True точки соединяются отрезками прямых, и строится линия в пространстве.

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

  • ListSurfacePlot3D[{ { {x11, y11, zll}, {x12, y12, z13},…} } }] — строит трехмерную поверхность по координатам ее точек-(рис. 14.40).

Здесь список координат точек также задаются функцией Table. Выбором диапазона изменения значений переменных х, у и z можно добиться различных эффектов, например изображения только части сферы (на, к примеру, показано построение полусферы).
Следующие функции дают построения с проекциями:

  • ShadowPlot3D [f, {х, xmin, xmax}, {у, ymin, углах} ] — строит график поверхности f(z, y) с ее проекцией на опорную плоскость;
  • ListShadowPlot3D[{{ {xll, yll, zll}, {x!2, y!2, z!3},…}} }] -строит график поверхности z(x, у) с ее проекцией на опорную плоскость по координатам точек поверхности.

Еще один простой и эффектный пример применения функции ShadowPlot3D показан на. Здесь изображение поверхности — пика — проецируется на верхнюю плоскость, что дает наглядное представление о построенной фигуре.
С помощью функции Shadow [go], где до — графический объект, представляющий трехмерную фигуру, можно построить и более сложные рисунки — например, график объемной фигуры и сразу всех трех ее проекций на взаимно перпендикулярные плоскости. Такое построение иллюстрируется документом, показанным на.
С функцией Shadow можно использовать различные опции. далее…