Игры по математике
<<  Математический поезд Музыкально-математическая  >>
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Общие замечания по пакетам расширения
Общие замечания по пакетам расширения
Пакет алгебраических функций Algebra Решение неравенств
Пакет алгебраических функций Algebra Решение неравенств
Приведенные ниже примеры иллюстрируют работу данной функции:
Приведенные ниже примеры иллюстрируют работу данной функции:
Функции для представления комплексных данных — Relm
Функции для представления комплексных данных — Relm
Операции в конечных полях — FiniteFields
Операции в конечных полях — FiniteFields
Пакет задает набор функций GF[p] [{k}], GF[p,l] [{k}], GF[p, {0,1}]
Пакет задает набор функций GF[p] [{k}], GF[p,l] [{k}], GF[p, {0,1}]
Оценка интервалов изоляции корней полиномов — Rootlsolation
Оценка интервалов изоляции корней полиномов — Rootlsolation
Операции с полиномами
Операции с полиномами
Далее следует функция PolynomialPowerMod [polyl, n, (poly2, р} ],
Далее следует функция PolynomialPowerMod [polyl, n, (poly2, р} ],
Преобразование полиномов в схему Горнера — Horner
Преобразование полиномов в схему Горнера — Horner
Пакет вычислительных функций Calculus
Пакет вычислительных функций Calculus
Дельта-функция Дирака — DiracDelta
Дельта-функция Дирака — DiracDelta
Рис
Рис
Рациональная аппроксимация аналитических функций — Fade
Рациональная аппроксимация аналитических функций — Fade
Векторный анализ —VectorAnalysis Системы координат и их преобразования
Векторный анализ —VectorAnalysis Системы координат и их преобразования
Ниже даны названия систем координат и соответствующие им представления
Ниже даны названия систем координат и соответствующие им представления
Ряд функций служит для контроля и установки параметров систем
Ряд функций служит для контроля и установки параметров систем
Для преобразования координат служат следующие функции:
Для преобразования координат служат следующие функции:
Геометрические расчеты — пакет Geometry Характеристики регулярных
Геометрические расчеты — пакет Geometry Характеристики регулярных
В этих функциях наименование полигона р может быть следующим (в
В этих функциях наименование полигона р может быть следующим (в
Для объемных фигур — полиэдров — имеются следующие функции:
Для объемных фигур — полиэдров — имеются следующие функции:
Вращение фигур на плоскости и в пространстве — Rotations
Вращение фигур на плоскости и в пространстве — Rotations
Линейная алгебра— пакет LinearAlgebra Декомпозиция Холесского —
Линейная алгебра— пакет LinearAlgebra Декомпозиция Холесского —
Метод исключения Гаусса — GaussianElimination
Метод исключения Гаусса — GaussianElimination
Ортогонализация и нормализация — Ortogonalization
Ортогонализация и нормализация — Ortogonalization
Решение линейных уравнений с трехдиагональной матрицей —Tridiagonal
Решение линейных уравнений с трехдиагональной матрицей —Tridiagonal
Расширение в теории чисел Цепные дроби — ContinuedFractions
Расширение в теории чисел Цепные дроби — ContinuedFractions
В подпакете имеются также следующие функции: ToPeriodicForm[x] — дает
В подпакете имеются также следующие функции: ToPeriodicForm[x] — дает
Функции теории чисел — NumberTheory Functions
Функции теории чисел — NumberTheory Functions
Работа с простыми числами-PrimeQ
Работа с простыми числами-PrimeQ
Это довольно редкие функции, представляющие интерес для специалистов в
Это довольно редкие функции, представляющие интерес для специалистов в
Рационализация чисел — Rationalize
Рационализация чисел — Rationalize
Нахождение полинома, дающего заданный корень — Recognize
Нахождение полинома, дающего заданный корень — Recognize
Численные расчеты — пакет NumericalMath Нули функций Бесселя —
Численные расчеты — пакет NumericalMath Нули функций Бесселя —
Реализация интервальных методов —IntervalRoots Иногда важно не найти
Реализация интервальных методов —IntervalRoots Иногда важно не найти
Табличное численное интегрирование — Listlntegrate Встроенная в ядро
Табличное численное интегрирование — Listlntegrate Встроенная в ядро
Численное вычисление пределов — NLimit В подпакете N limit определена
Численное вычисление пределов — NLimit В подпакете N limit определена
Имеется также функция вычисления производной в численном виде: ND [ f,
Имеется также функция вычисления производной в численном виде: ND [ f,
Численное вычисление остатка — N Residue В подпакете NResidue имеется
Численное вычисление остатка — N Residue В подпакете NResidue имеется
Вычисление коэффициентов формулы интегрирования Ньютона—Котесса —
Вычисление коэффициентов формулы интегрирования Ньютона—Котесса —
Статистические расчеты Статистические расчеты — пакет Statistics
Статистические расчеты Статистические расчеты — пакет Statistics
Состав пакета Statistics Пакет расширения Statistics содержит
Состав пакета Statistics Пакет расширения Statistics содержит
Манипуляции с данными — DataManipulation Статистические данные обычно
Манипуляции с данными — DataManipulation Статистические данные обычно
Построение гистограмм Ряд функций служит для подготовки данных с целью
Построение гистограмм Ряд функций служит для подготовки данных с целью
Статистика распределений — DescriptiveStatistics В подпакете
Статистика распределений — DescriptiveStatistics В подпакете
Мы не приводим определений этих функций, поскольку при символьных
Мы не приводим определений этих функций, поскольку при символьных
Следующие примеры поясняют действие этих функций при обработке
Следующие примеры поясняют действие этих функций при обработке
Сглаживание данных — DataSmoothing В подпакете DataSmoothing
Сглаживание данных — DataSmoothing В подпакете DataSmoothing
Другие подпакеты расширения Statistics Подпакет NormalDistribution
Другие подпакеты расширения Statistics Подпакет NormalDistribution
В подпакете HypothesisTests сосредоточено сравнительно небольшое число
В подпакете HypothesisTests сосредоточено сравнительно небольшое число
Регрессия Линейная регрессия общего вида — LinearRegression В
Регрессия Линейная регрессия общего вида — LinearRegression В
Нелинейная регрессия — NonlinearFit В подпакете NonlinearFit
Нелинейная регрессия — NonlinearFit В подпакете NonlinearFit
На рис
На рис
Полиномиальная регрессия — PolynomialFit К сожалению, средства
Полиномиальная регрессия — PolynomialFit К сожалению, средства
Сплайн-регрессия — SplineFit Сплайны представляют собой набор
Сплайн-регрессия — SplineFit Сплайны представляют собой набор
Рисунок 12
Рисунок 12
Тригонометрическая регрессия — TrigFit Многие выражения содержат
Тригонометрическая регрессия — TrigFit Многие выражения содержат
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения
Математические пакеты расширения

Презентация на тему: «Математические пакеты расширения». Автор: Пользователь Windows. Файл: «Математические пакеты расширения.pptx». Размер zip-архива: 645 КБ.

Математические пакеты расширения

содержание презентации «Математические пакеты расширения.pptx»
СлайдТекст
1 Математические пакеты расширения

Математические пакеты расширения

Старательно выполнил: Бахитов Ф.А.

2 Математические пакеты расширения

Математические пакеты расширения

Пакет алгебраических функций Algebra Пакет вычислительных функций Calculus Пакет дискретной математики DiscreteMath Геометрические расчеты — пакет Geometry Линейная алгебра — пакет LinearAlgebra Расширение в теории чисел — пакет NumberTheory Численные расчеты — пакет NumericalMath Начиная с этого урока, мы переходим к изучению стандартных пакетов расширения (Standard Add-on Packages), которые встроены в системы Mathematica 3/4. Они не требуют отдельной инсталляции, но перед использованием их средств пакеты надо объявлять. Стандартные пакеты расширений содержат примерно столько же дополнительных средств, сколько их содержится в ядре, — то есть тоже порядка тысячи. Применение пакетов расширения особенно эффективно, если оно производится достаточно опытными пользователями.

3 Общие замечания по пакетам расширения

Общие замечания по пакетам расширения

Пакеты расширения системы Mathematica (Add-ons) являются наборами файлов с расширением .т, написанными на языке программирования системы и объединенными под именами соответствующих пакетов. Пакеты добавляют в систему ряд функций, которые отсутствуют в ядре системы. Они могут модифицироваться и создаваться пользователями, что обеспечивает легкую адаптацию системы под задачи конкретного пользователя. Применение пакетов имеет три основные особенности: необходимо предварительно объявлять загрузку пакета или отдельных его частей — подпакетов или функций; скорость вычислений для функций пакетов несколько ниже, чем для функций ядра; модификация функций пакетов пользователем может нарушить программную совместимость, что не позволит работать с ними в стандартной системе Mathematica и затруднит обмен документами. В системе Mathematica 3 (и особенно в Mathematica 4) проведена тщательная оптимизация ядра, что позволило перенести часть апробированных функций из пакетов расширений в ядро системы и тем самым существенно повысить скорость их выполнения. Однако пакеты расширения по-прежнему относятся к важным средствам дополнения и модернизации системы. Некоторые функции вызываются из пакетов автоматически — они описаны ранее как средства ядра системы Mathematica 4. Следует отметить, что систематизация пакетов расширения по содержащимся в них функциям не доведена до совершенства. Например, функции регрессии разбросаны по ряду пакетов расширения. По мере возможности этот недостаток в данной книге устранен.

4 Пакет алгебраических функций Algebra Решение неравенств

Пакет алгебраических функций Algebra Решение неравенств

Пакет расширения Algebra содержит ряд новых функций для работы с неравенствами, ограниченными полями и полиномами. Для доступа сразу ко всем функциям пакета используется команда «Algebra`. Загрузка отдельных функций показана в примерах использования этого пакета, описанных ниже. До сих пор мы сталкивались с решениями уравнений, представленных равенствами. Пакет Algebra дает важное дополнение в виде функций, обеспечивающих работу с неравенствами. Прежде всего это функция SemialgebraicCompo-nents [ineqs, vars], которая определят комплект решений неравенств ineqs по переменной vars.

5 Приведенные ниже примеры иллюстрируют работу данной функции:

Приведенные ниже примеры иллюстрируют работу данной функции:

<<Algebra`Algebraiclnequalities` SemialgebraicComponents[{х (х^2 - 1) (х^3 - 2) > 1}, х] {-3, 3} SemialgebraicComponents[{х + у ^ 2 < 5, х/у > 1}, {х, у}] SanialgebraicCarpanents[(x+у 2 < 5, — x/y>1}, {х, у}] SemialgebraicComponents[{х ^ 2 + у ^ 2 < 5, х у > 0}, {х, у}] {{-3/16,-3/16},{3/16,3/16}} SemialgebraicComponents[{x ^ 2 + y ^ 2/4 + z ^ 2/9 > 1, х ^ 2 + (у - 1) ^ 2 + (2- 2) ^ 2 < 0}, {х, у, z}] {} Для решения неравенства служит функция InequalitySolve [expr, var], которая решает неравенство ехрг относительно переменной var. Следующие примеры иллюстрируют применение данной функции: <<Algebra` InequalitySolve` InequalitySolve [х (х^2- 5) (х^2- 6) > 0, х] -sqrt(6) <х<-sqrt(5) | | 0<х<sqrt(6)| | х>7sqrt(6) InequalitySolve[x^2/Abs[х- 2] >= 0 && 1/х < х + 1, х] -1/2(1-sqrt(5)<x<0| | 1/2(-1+sqrt(5)<x<2| | x>2

6 Функции для представления комплексных данных — Relm

Функции для представления комплексных данных — Relm

Подпакет Relm обеспечивает переназначение функций комплексной переменно!! для более корректной их работы: <<Algebra`ReIm` Re[l/x+l/y] Re[x]/(Im[x]2+Re[x]2 )+ Re[y]/( Iim[y]2+Re[y]2) Re[(z + I)^3 + Exp[I z]] E[mz] Cos[Re[z]] -2 (1+ Im[z])2Re[z] + Re[z] (-(1+ Im[z])2+Re[z]2) Im[x] ^= 0; RealValued[f, g] {f, g) Im[l/(l- I f[x] g[x])] f [x] g[x]/(1+ f[x]2g[x]2 ) Im[Sin[a]] Cos[Re[a]] Sinh[Tm[a]]

7 Операции в конечных полях — FiniteFields

Операции в конечных полях — FiniteFields

Поле является алгебраическим понятием, которое может быть определено как множество, имеющее не менее двух элементов, над которыми заданы две бинарные ассоциативные и коммутативные операции — сложения и умножения. Кроме того, для существования поля нужны два особых элемента — нуль 0, задающий правило сложения а + 0 = а, и единица 1 для задания правила умножения а*1 = 1. Определено также понятие противоположного элемента -а, такого что а + (-а) = 0, и обратного элемента а-- 1 , такого что a- 1 а = 1. Поле характеризуется размером р и целым положительным целым d, называемым степенью расширения.

8 Пакет задает набор функций GF[p] [{k}], GF[p,l] [{k}], GF[p, {0,1}]

Пакет задает набор функций GF[p] [{k}], GF[p,l] [{k}], GF[p, {0,1}]

[{k}], GF[p,d] HGF[p,ilist] [elist], действие которых иллюстрируют следующие примеры: <<Algebra` FiniteFields` GF[7][4] + GF[7][6] {3}7 GF[3,4][1,2,1] GF[3,4][2,2,2,0] {1, 1, 2, 0}3 GF[5,1][1] + GF[3,4][1,1,1] {1, 1, 1, 0}3+ (1)5 Вряд ли подробное их описание заинтересует большинство читателей. Специалистов по полям не затруднит более детальное знакомство с этими функциями в разделе Add-ons справочной базы данных. Там же можно найти описание ряда других функций, относящихся к теории конечных полей.

9 Оценка интервалов изоляции корней полиномов — Rootlsolation

Оценка интервалов изоляции корней полиномов — Rootlsolation

Следующие функции подпакета Rootlsotation позволяют оценивать интервалы изоляции для действительных и комплексных корней полиномов: CountRoots [poly, {x,ml,m2} ] — возвращает число корней полинома poly от переменной х в комплексном интервале {ml, m2 }; RealRootsIntervals [poly] — возвращает разделенный интервал изоляции для вещественных корней полинома poly; RealRootsIntervals [polyl,poly2,...] — возвращает разделенные интервалы изоляции для вещественных корней нескольких полиномов; ComplexRootsIntervals [poly] — возвращает разделенный интервал изоляции для комплексных корней полинома; ComplexlRootsIntervals [polyl, poly2,...] — возвращает разделенные интервалы изоляции для комплексных корней нескольких полиномов; Contractlnterval [a,n] — возвращает интервал изоляции для числа а с точностью, задаваемой числом знаков результата п.

10 Операции с полиномами

Операции с полиномами

Если конечные поля — понятие достаточно экзотическое, то полиномы встреча- ются сплошь и рядом во многих математических и научно-технических расчетах. В пакете расширения Algebra определен ряд новых операций над полиномами. Начнем их рассмотрение с функции PolynomialExtendedGCD: PolynomialExtendedGCD [polyl, poly2 ] — возвращает наибольший общий делитель двух полиномов; PolynomialExtendedGCD[polyl,poly2,Modulus->p] —возвращает наи- больший общий делитель двух полиномов по модулю р.

11 Далее следует функция PolynomialPowerMod [polyl, n, (poly2, р} ],

Далее следует функция PolynomialPowerMod [polyl, n, (poly2, р} ],

которая является существенно ускоренной версией функции PolynomialMod. степени ускорения свидетельствует следующий пример: <<Algebra`PolynomialPowerMod` Timing[PolynomialPowerMod[1 + х, 200, х^З + x^2 + 1, Prime[4750]]][[1]], Timing [ PolynomialMod [ (1 + x)^200, x^ + х^2 + 1, Prime [4750] ]][[1]] {0. Second, 2.37 Second) В данном случае вычисления по функции PolynomialPowerMod оказались вы- полненными менее чем за 0.01 с, что дает нулевой результат. Еще одна функция в трех ее модификациях работает с симметричными полиномами: SymmetricReduction [ {xl,...,xn}, k] — возвращает симметричный полином степени k по переменным {х1,..., хn); SymmetricReduction [f, {xl,...,xn}] — возвращает часть полинома {p,q} по переменным {х1,...,хп}, где f=p+q, причем р есть симметричная часть, q — остаток; SymmetricReduction [f, {xl,...,xn}, {s1,..., sn} ] — возвращает часть полинома (p,q) попеременным {xl, ...,xn}, где элементарный симметричный полином представляет список {s1,..., sn}.

12 Преобразование полиномов в схему Горнера — Horner

Преобразование полиномов в схему Горнера — Horner

Подпакет Horner в системе Mathematica 4 реализует хорошо известную схему вычисления полиномов — схему Горнера. При ней операции возведения в степень заменяются операциями умножения. Для этого служит функция Horner: Horner [poly] — устанавливает полином poly в форму Горнера; Horner [poly, vars] — устанавливает полином ряда переменных vars в форму Горнера. Схема Горнера может использоваться и для отношения полиномов: Horner [polyl/poly2] и Horner [polyl/poly2, varsl,vars2] . Эти функции можно использовать для улучшенного представления аппроксимации Паде, что демонстрирует следующий пример: <<Calculus ` Fade` approx = Padef Exp[Log[x] -х] , {х, 0, 3, 2}]] Horner[ approx ] Переход к схеме Горнера дает ряд преимуществ перед обычным вычислением полиномов: уменьшается время вычислений, повышается их точность, уменьшается вероятность расхождения численных методов, в которых используются полиномы. В системе Mathematica 3 подпакет Corner находился в пакете расширения NumberMath, что было не вполне логично.

13 Пакет вычислительных функций Calculus

Пакет вычислительных функций Calculus

Пакет расширения Calculus содержит представительный набор функций для решения дифференциальных уравнений, задания функций единичного скачка и импульса, выполнения операций с векторами, преобразований Фурье и Лапласа, выполнения спектрального анализа и синтеза, расширенного вычисления пределов и проведения аппроксимаций аналитических функций. Для открытия пакета используется команда Calculus` Решение дифференциальных уравнений — DSolvelntegrals Многие нелинейные дифференциальные уравнения не имеют общего решения. В под-пакете DSolvelntegrals определены функции, позволяющие найти решения в форме полного интеграла: Completelntegral [eqn, u [х, у,...], {х, у...} ] — создает полный интеграл для дифференциального уравнения, касательного к и [х, у,...]; Differential Invariants [ {eqnsl, eqns2,...}, {u [х] , v [х] ,...}, х} — возвращает список дифференциальных инвариантов для простых переменных {u[x] ,v[x] ,...} и х; Differential Invariants [ {eqnsl, eqns2,...}, {u, v,...}, х} — возвращает список дифференциальных инвариантов для простых переменных {u, v,...} и х;

14 Дельта-функция Дирака — DiracDelta

Дельта-функция Дирака — DiracDelta

В подпакете DiracDelta системы Mathematica 3 задано определение двух полезных функций Дирака: UnitStep [х] — возвращает функцию с единичным скачком при х = 0 (дает значение 0 при х < 0 и 1 при х > 1); DiracDelta [x] — возвращает дельта-функцию Дирака, которая является импульсом с единичной площадью, бесконечно малой шириной в точке х = 0 и бесконечно большой амплитудой. Рисунок 11.1 поясняет применение этих функций. Функция UnitStep имеет простую графическую иллюстрацию, тогда как построение графика функции DiracDelta в принципе невозможно — эта функция представляет собой линию бесконечно большой высоты в точке х - 0. Обратите внимание на то, что интеграл от функции Дирака при интегрировании от -°° до +°° равен 1.

15 Рис

Рис

11.1. Робота с функцией единичного скачка и дельта-функцией Дирака Обе описанные функции широко применяются при решении задач автоматического регулирования и при математическом моделировании систем и устройств. Поэтому в системе Mathematica 4 они перешли в разряд встроенных функций.

16 Рациональная аппроксимация аналитических функций — Fade

Рациональная аппроксимация аналитических функций — Fade

Аппроксимация Паде является расширением полиномиальной аппроксимации, обеспечивающим повышенную точность представления функции. На рис. 11.2 представлен пример выполнения аппроксимации Паде с построением графика исходной функции (темная линия) и аппроксимирующей функции (более светлая линия).

Полиномиальная аппроксимация и обычное разложение функций в ряд Тейлора нередко дают слишком большую погрешность. Уменьшение ее возможно при представлении аппроксимирующей функции в виде отношения двух полиномов разной степени. В подпакете Fade определены две функции для рациональной аппроксимации Паде: Pade[f, {x,x0,m,k}] — возвращает выражение для аппроксимации Паде функции f(x) в окрестностях точки х0 в виде отношения двух полиномов степеней m и k; EconomizedRationalApproximation [f, {х, {xmin, xmax}, m, k} ] —возвращает выражение для осуществления экономичной рациональной аппроксимации функции f(x) в интервале {xmin, xmax} в виде отношения двух полиномов степеней m и k.

17 Векторный анализ —VectorAnalysis Системы координат и их преобразования

Векторный анализ —VectorAnalysis Системы координат и их преобразования

Подпакет VectorAnalysis содержит множество функций, используемых при выполнении векторного анализа. Здесь надо иметь в виду, что речь идет не о векторах как представителях одномерных массивов, которые рассматривались ранее. В данном случае вектор — это направленный отрезок прямой в пространстве, заданном той или иной системой координат Заметная часть функций подпакета VectorAnalysis относится к заданию и преобразованию координат: Coordinates [ ] — возвращает имена переменных текущей системы координат; Coordinates [coordsys] — возвращает имена переменных системы координат coordsys; SetCoordinates [coordsys] — устанавливает систему координат coordsys с текущими переменными; Coordinates [coordsys, {vars}] — устанавливает систему координат coordsys с переменными, заданными списком {vars }.

18 Ниже даны названия систем координат и соответствующие им представления

Ниже даны названия систем координат и соответствующие им представления

Наименование

Представление

Прямоугольные

Cartesian [х, у, z]

Цилиндрические

Cylindrical [r, theta, z]

Сферические

Spherical [r, theta, phi]

Параболические цилиндрические

ParabolicCylindrical [u, v, z]

Параболические

Paraboloidal [u, v, phi]

Эллиптические цилиндрические

EllipticCylindrical [u, v, z, a]

Вытянутые сфероидальные

ProlateSpheroidal [xi, eta, phi, a]

Сплющенные сфероидальные

OblateSpheroidal [xi, eta, phi, a]

Биполярные

Bipolar[u, v, z, a]

Бисферические

Bispherical [u, v, phi, a]

Тороидальные

Toroidal [u, v, phi, a]

Конические

Conical [lambda, mu, nu, a, b]

Конфокальные эллипсоидальные

ConfocalEllipsoidal [lambda, rnu, nu, a, b, c]

Конфокальные параболические

ConfocalParaboloidal [lambda, mu, nu, a, bj

19 Ряд функций служит для контроля и установки параметров систем

Ряд функций служит для контроля и установки параметров систем

координат: CoordinateRanges [ ] — возвращает пределы изменения переменных текущей координатной системы; Parameters [ ] — возвращает параметры текущей координатной системы; ParametersRanges [ ] — возвращает пределы изменения параметров текущей координатной системы; CoordinateRanges [coordsys] — возвращает пределы изменения переменных координатной системы coordsys; Parameters [coordsys] — возвращает параметры координатной системы coordsys; ParametersRanges [coordsys] — возвращает пределы изменения параметров координатной системы coordsys; SetCoordinates [coordsys, {vars,param} ] — устанавливает параметры текущей координатной системы как параметры coordsys с переменными vars и параметрами param.

20 Для преобразования координат служат следующие функции:

Для преобразования координат служат следующие функции:

CoordinatesToCartesian [pt] — преобразование текущих координат в декартовы; CoordinatesToCartesian [pt, coordsys] — преобразование координат coordsys в декартовы; CoordinatesFromCartesian [pt] — преобразование из декартовых координат в текущие; CoordinatesFromCartesian [pt, coordsys] — преобразование из декартовых координат в координаты coordsys.

21 Геометрические расчеты — пакет Geometry Характеристики регулярных

Геометрические расчеты — пакет Geometry Характеристики регулярных

полигонов и полиэдров — Polytopes

Подпакет Polytopes содержит ряд функций для регулярных полигонов (многоугольников): NumberOfVertices [р] — число вершин углов полигона; NumberOfEdges [p] — число сторон полигона; NumberOf Faces [p] — число граней полигона; Vertices [р] — список координат вершин углов полигона; Area [р] — площадь полигона при длине каждой стороны, равной 1; InscribeciRadius [р]— радиус вписанной в полигон окружности; CircumscribedRadius [р] — радиус описывающей полигон окружности.

22 В этих функциях наименование полигона р может быть следующим (в

В этих функциях наименование полигона р может быть следующим (в

скобках дано число сторон): Digon (2) Triangle (3) Square (4) Pentagon (5) Hexagon (6) Heptagon (7) Octagon (8) Nonagon (9) Decagon (10,) Undecagon (11) Dodecagon (12) На рис. 11.20 показаны примеры применения некоторых из этих функций и построение крупными точками вершин полигона — Пентагона (пятиугольника).

23 Для объемных фигур — полиэдров — имеются следующие функции:

Для объемных фигур — полиэдров — имеются следующие функции:

NumberOfVertices [р] — число вершин углов полиэдра; NumberOfEdges [р] — число сторон полиэдра; NumberOf Faces [р] — число граней полиэдра; Vertices [p] — список координат вершин углов полиэдра; Area [p] — площадь полиэдра при длине каждой стороны, равной 1; InscribedRadius [р] — радиус вписанной в полиэдр окружности; CircumscribedRadius [р] — радиус окружности, описывающей полиэдр; Volume [p] — объем полиэдра; Dual[p] — дуальный полиэдр; Schlafli[p] — символ полиэдра.

Здесь наименование полиэдра может быть следующим: Tetrahedron (4) Cube (6) Octahedron (8) Didecahedron (12) Icosahedron (20) рис. 11.20

24 Вращение фигур на плоскости и в пространстве — Rotations

Вращение фигур на плоскости и в пространстве — Rotations

Для задания поворота плоских фигур на заданный угол в подпакете Rotations заданы следующие функции: RotationMatrix2D[theta] — дает матрицу для поворота на угол theta в двух измерениях; Rotate2D [vec, theta] — поворачивает вектор vec по часовой стрелке на угол theta; Rotate2D[vec,theta,{x,y}] — поворачивает вектор vec по часовой стрелке на угол theta относительно точки с координатами {х, у}. Рисунок 11.21 иллюстрирует работу с этими функциями. Аналогичные функции существуют и для поворота трехмерных фигур: RotationMatrix3D [psi, theta,phi] — дает матрицу поворота на заданные углы в трехмерном пространстве; Rotate3D [vec, psi, theta, phi] — поворачивает вектор vec на заданные углы в трехмерном пространстве; Rotate3D [vec, psi, theta, phi,{x,y,z}]— поворачивает вектор vec на заданные углы в трехмерном пространстве относительно точки с координатами {х,у, z}.

25 Линейная алгебра— пакет LinearAlgebra Декомпозиция Холесского —

Линейная алгебра— пакет LinearAlgebra Декомпозиция Холесского —

Cholesky

Подпакет Cholesky содержит единственную функцию HoleskyDecomposition [m], которая вычисляет декомпозицию (факторизацию, разложение) Холесского для симметричной положительно определенной матрицы т. Примеры выполнения декомпозиции Холесского даны ниже: <<LinearAlgebra`Cholesky` hil = Tablet l/(i + j - 1) , {i, 1, 4}, {j, 1, 4}] Eigenvalues[ N[hil] ] {1.50021, 0.169141, 0.00673827, 0.0000967023} u = CholeskyDecomposition[hil] MatrixForm[Transpose[u] . u]

26 Метод исключения Гаусса — GaussianElimination

Метод исключения Гаусса — GaussianElimination

Следующие функции обеспечивают реализацию метода исключения Гаусса при решении линейного уравнения вида А-x =b: LUFactor [m] — возвращает LU-декомпозицию матрицы m; LUSolve [lu, b] — решает систему линейных уравнений с матрицей коэффициентов lu и вектором свободных членов b методом исключения переменных Гаусса; LU [a, pivots] — создает объект, используемый в LUSolve. Применение этих функций поясняют примеры, показанные ниже: <<LinearAlgebra`GaussianElimination` MatrixForm[a = {{1, 2, 3}, {4, 5, 6}, {-1, 5, -5}}] lu = LUFactor[a] b = {10, -3, 12} {10, -3, 12} LUSolve[lu, b] Метод исключения Гаусса является хорошо апробированным методом решения систем линейных уравнений, что делает реализацию описанных функций полезным дополнением к встроенным функциям линейной алгебры.

27 Ортогонализация и нормализация — Ortogonalization

Ортогонализация и нормализация — Ortogonalization

В подпакете ортогонализации Ortogonalization имеются следующие функции: GramSchmidt [ {vl, v2,...} ] — создает ортогональное множество на основе списка векторов v1, v2, ...; Normalize [vect] — возвращает нормированный вектор vect; Projection [vectl, vect2] — дает ортогональную проекцию вектора vl на вектор v2. В этих функциях после аргументов допустимы опции InnerProduct->exprn Normalized->False (отказ от нормировки). Примеры работы с функциями ортогонализации представлены ниже: <<LinearAlgebra`Orthogonalization` {wl, w2, w3} = GramSchmidt[ {{1,3,2}, {2,4,3}, {2,4,6}}] { wl . w2, w2 . w3, wl . w3, wl . wl, w2 . w2, w3 . w3} {0, 0, 0, 1, 1, 1} GramSchmidt[{1, x, x^2, x^3, x^4}, InnerProduct -> (Integrate[#l #2,{x,-l,l}]&)] //Simplify Normalize[LegendreP[2,x], InnerProduct ->(Integrate[#l #2,{x,-l,l}]&)] {wl, w2} = GramSchmidt[{{3,4,3}, {2,3,6}}, Normalized -> False] {wl . wl, wl . w2} {34, 0}

28 Решение линейных уравнений с трехдиагональной матрицей —Tridiagonal

Решение линейных уравнений с трехдиагональной матрицей —Tridiagonal

При решении линейных уравнений часто встречаются матрицы особой формы — трехдиагональные. Подпакет Tridiagonal имеет функцию для решения линейных уравнений с такой матрицей: TridiagonalSolve [a,b, с, г] — решение системы линейных уравнений с трехдиагональной матрицей m. х==г (диагонали представлены векторами а, b и с, вектор свободных членов — г). Пример применения даннойфункции: <<LinearAlgebra` Tridiagonal` {а, b, с} = {{1, 2, 3}, {4, 5, б, 7}, {10, 9, 8}} {{1, 2, 3}, {4, 5, 6, 7}, {10, 9, 8}} m = Table[Switch[ j-i, -1, a[[j]], 0, b[[jj], 1, c[[j-l]], _, 0], {i, 4}, {j, 4}]//MatrixForm TridiagonalSolve[a, b, c, {8, 3, 4, 5}

29 Расширение в теории чисел Цепные дроби — ContinuedFractions

Расширение в теории чисел Цепные дроби — ContinuedFractions

Следующие функции подпакста ContinuedFractions служат для представления чисел в виде цепных дробей или для формирования цепной дроби из списков: ContinuedFraction [х] — возвращает цепную дробь для рационального числа х; ContinuedFraction [х, n] — возвращает цепную дробь для числа х с числом членов п; ContinuedFractionForm [{а0, al,...}] — создает цепную дробь из списка {a0,al,...}; Normal [ContinuedFractionForm[ {а0, al,...}]] — представление в нормальной форме. Примеры разложения чисел на цепные дроби: <<NumberTheory` ContinuedFractionss ContinuedFraction[123/1234]//ContinuedFractionForm ContinuedFraction[Sqrt[5], 10]//ContinuedFractionForm 2, ContinuedFraction[GoldenRatio, 6 ] //ContinuedFractionForm Table[ Normal[ContinuedFractionForm[Table[1, {n}]]], {n, 9}] %- N[GoldenRatio] {-0.618034, 0.381966, -0.118034, 0.0486327, -0.018034, 0.00696601, -0.00264937, 0.00101363,-0.00038693}

30 В подпакете имеются также следующие функции: ToPeriodicForm[x] — дает

В подпакете имеются также следующие функции: ToPeriodicForm[x] — дает

десятичное представление для рациональнЪго числа 0 < х < 1; ToPeriodicForm [х, b] — дает представление рационального числа х числом с основанием b; PeriodicForm[ {а0,...}, {am,...}] — дает периодическую форму представления списков; PeriodicForm[ {а0,...}, {am,...},b] — дает периодическую форму представления списков с основанием b; Normal [ PeriodicForm [{а0,...}, {am,...}]] — преобразование в нормальную форму; Normal [PeriodicForm[ {а0,...}, {am,...} ,b] ] — преобразование в нормальную форму с основанием b.

31 Функции теории чисел — NumberTheory Functions

Функции теории чисел — NumberTheory Functions

В подпакете NumberTheoryFunctions имеется ряд функций, относящихся к теории чисел: SquareFreeQ[n] — дает True, если п не имеет квадратичного фактора, и False в ином случае; NextPrime [n] — дает наименьшее простое число, превосходящее п; ChineseRemainderTheorem[listl, Iist2.] — дает наименьшее неотрицательное целое г, такое что Mod [r, Iist2] ==list1; SqrtMod [d, n] — дает квадратный корень из (d mod п) для нечетного n; PrimitiveRoot [n] — дает примитивный корень п; QuadraticRepresentation [d, n] — дает решение {х,у} для уравнения х 2 + (d у) 2 ==п для нечетного п и положительного d; ClassList[d] — дает список неэквивалентных квадратичных форм дискриминанта d для отрицательного и свободного от квадратов целого d вида 4n+1; ClassNumber [d] — дает список неэквивалентных квадратичных форм дискриминанта d; SumOf Squares [d, n] — дает число представлений целого числа п в виде суммы d квадратов; SumOf SquaresRepresentations [d, n] — дает список представлений целого числа п в виде суммы d квадратов, игнорируя порядок и знаки.

32 Работа с простыми числами-PrimeQ

Работа с простыми числами-PrimeQ

В подпакете PrimeQ в дополнение к функции ядра PrimeQ [n] имеется ряд функций для работы с простыми числами: ProvablePrimeQ [n] — возвращает True, если п проверено на простоту, и False в ином случае; PrimeQCertif icate [n] — возвращает сертификат о том, что n— простое или композитное число; ProvablePrimeQ [n, Certif icate->True] — возвращает сертификат, который может использоваться для проверки чисел на простоту; PrimeQCertif icateCheck [check, n] — проверяет, удостоверяет ли сертификат check простоту или композитность п. Вычисление примитивных элементов — Primitive Element Подпакет PrimitiveElement содержит всего одну функцию для вычисления примитивных элементов множественного алгебраического выражения: PrimitiveElement [z, {а1„а2,...} ] — возвращает список {b, { f1, f2,...}}, где b — примитивный элемент расширения рациональных алгебраических чисел al, а2,... и f1, f 2,... — полином переменной z, представляющей al, a2, ... как термы примитивного элемента. Создание рядов Рамануджанат-Дирихле — Ramanujan В подпакете Ramanujan определены следующие функции: RamanujanTau [n] — n-й коэффициент ряда Рамануджана т-Дирйхле (т n ); RamanujanTauGeneratingFunction [z] — производящая функция ряда Рамануджана т-Дирихле; RamanujanTauDirichletSeries [s] — ряд Рамануджана т-Дирихле f(s); RamanujanTauTheta [t] — функция Рамануджана т-Дирихле o(t) RamanujanTauZ [t] — функция Рамануджана т-Дирихле z(t).

33 Это довольно редкие функции, представляющие интерес для специалистов в

Это довольно редкие функции, представляющие интерес для специалистов в

теории чисел. Достаточно подробные их определения даны в справочной базе данных. Ограничимся приведением примеров их использования: <<NumberTheory`Ramanujan` RamanujanTau[5] 4830 Sum[RamanujanTau[n] z^n, {n, 5}] z - 24 z2 + 252 z3 - 1472 z4 + 4830 z5 RamanujanTauGeneratingFunction[. 1] 0.00610209 RamanuJanTauGeneratingFunction[.99] 4.10287803703 x -1673 RamanujanTauDirichletSeries[6 + 9.221] 0.00040309-0.002390131 z = RamanujanTauZ[9.22] 0.00242388 theta = RamanujanTauTheta[9.22] 1.40372043366323 z Exp[-I theta] 0.00040309 - 0.00239013 I

34 Рационализация чисел — Rationalize

Рационализация чисел — Rationalize

Подпакет Rationalize расширяет возможности представления чисел в рациональном виде. Он содержит определения следующих функций: ProjectiveRationalize [ {х0, xl,..., хn} ] — возвращает список целых чисел, дающих рациональные представления для чисел заданного списка; ProjectiveRationalize [ {х0, xl,..., хn} ,ргес] — возвращает список целых чисел, дающих рациональные представления с погрешностью не более 10- рreк Af f ineRationalize [ {х0, xl,..., хn} ] — возвращает список рациональных приближений для чисел заданного списка; Aff ineRationalize [ {х0, xl,..., xn} ,prec] — возвращает список рациональных приближений для чисел заданного списка, вычисленных с погрешностью не более 10- ргес . Встроенная в ядро функция Rationalize дает рациональное представление для одиночных вещественных чисел. Приведенные функции выполняют рационализацию для списков чисел. Примеры их применения представлены ниже: <<NumberTheory` Rationalize` Rationalize[N[3 Pi], 6]/ Rationalize[N[11 Pi], 6] 9/35 ProjectiveRationalize[{N[3 Pi], N[11 Pi]}] {3, 11} AffineRationalize[{N[3 Pi], N[11 Pi]}, 6] {1065/113, 3905/113 }

35 Нахождение полинома, дающего заданный корень — Recognize

Нахождение полинома, дающего заданный корень — Recognize

Подпакет Recognize содержит определение одноименной с ним функции в двух формах: Recognize [x,n,t] — находит полином переменной t степени, большей п, такой, что х является его корнем; Recognize [х, n, t, k] — находит полином переменной t степени, большей п, такой, что х является его корнем, и со штрафным весовым коэффициентом k, предназначенным для подавления генерации полиномов высших степеней. Тета-функция Зигеля Подпакет SiegelTheta содержит еще одну редкую функцию: SiegelTheta [z, s] — возвращает значение тета-функции Зигеля Q(Z, s). Примеры вычисления этой функции даны ниже: << NumberTheory` SiegelTheta` SiegelTheta[{1+1,2+1}, {2+1,-1+41}, {1.2, 2.3+.3I}] 0.973715-0.0002970481 Sum[E^(Pi I {tl,t2}.{ {1+1,2+1}, {2+1, -1+41} }.{tl,,t2} + 2 Pi I {tl,t2}.{l.2,2.3+.31}), {tl,-10,10>, {t2,-10,10}] 0.973715 - 0.000297048 I В заключительной части этого примера дано вычисление тета-функции Зигеля по ее исходному определению.

36 Численные расчеты — пакет NumericalMath Нули функций Бесселя —

Численные расчеты — пакет NumericalMath Нули функций Бесселя —

BesselZeros

В подпакете BesselZeros определены функции, дающие список аргументов функций Бесселя в их первых п нулевых точках: BesselJZeros [mu, n], Bessel-YZeros[mu,n], BesselJPrimeZeros[mu,n], BesselYPrimeZeros[mu,n] и др. Ввиду редкого использования функций этого класса ограничимся парой примеров их применения: <<NumericalMath`BesselZeros` BesselJZeros[0, 5] {2.40483, 5.52008, 8.65373, 11.7915, 14.9309} BesselJYJYZeros[2, 6/5, 3, WorkingPrecision -> 20] {15.806622444176579073, 31.46556009153683, 47.1570167108650315} Поиск корней уравнений с интерполяцией — InterpolateRoot Подпакет InterpolateRoot дает средства для ускоренного и более точного поиска корней уравнений по сравнению с соответствующими функциями ядра. Достигается это за счет применения интерполяции функции, корни которой ищутся. Под-пакет задает функцию InterpolateRoot [f, {х, a, b} ], которая находит корень функции f в интервале х от а до b. Вместо функции f можно задавать уравнение eqn. Возможны опции AccuracyGoal->Automatic, Maxlterations->15, WorkingPrecision->$MachinePrecision и ShowProgress->False (указаны принятые по умолчанию значения).

37 Реализация интервальных методов —IntervalRoots Иногда важно не найти

Реализация интервальных методов —IntervalRoots Иногда важно не найти

приближенное значение корня, а уточнить интервал, в котором он находится. В подпакете IntervalRoots для этого используется ряд известных методов, реализованных следующими функциями: IntervalBisection [f ,x, int, eps] — находит корень функции f(x) путем уточнения исходного интервала int с заданной погрешностью eps методом половинного деления; IntervalSecant [f ,x, int, eps] — находит корень функции f(x) путем уточнения исходного интервала int с заданной погрешностью eps методом секущей; IntervalNewton [ f, x, int, eps ] — находит корень функции/(x) путем уточнения исходного интервала int с заданной погрешностью eps методом Ньютона (касательной). Во всех функциях можно опциями задать максимальное число рекурсий (Max-Recursion) и погрешность (WorkingPrecision).

38 Табличное численное интегрирование — Listlntegrate Встроенная в ядро

Табличное численное интегрирование — Listlntegrate Встроенная в ядро

функция NIntegrate вычисляет определенные интегралы при известной подынтегральной функции. Однако нередко, например при экспериментах, такая функция задается таблицей или списком значений. В подпакете List-Integrate имеются функции для решения этой задачи — табличного интегрирования: Listlntegrate [ {yl, y2,..., yn} ,h] — возвращает численное значение интеграла для функции, заданной списком ординат yi при заданном шаге h по х; Listlntegrate [ {yl, y2,..., yn}, h, k] — возвращает численное значение интеграла для функции, заданной списком ординат yi при заданном шаге h по х, используя k точек каждого подинтервала; Listlntegrate [ {{xl, yl}, {х2, у2 },..., {хп, уп}}, k] — возвращает численное значение интеграла для функции, заданной списком координат {х.., у.}. используя k точек для каждого подынтервала.

39 Численное вычисление пределов — NLimit В подпакете N limit определена

Численное вычисление пределов — NLimit В подпакете N limit определена

функция Nlimit[expr,х->х0] для численного вычисления пределов выражений ехрг: <<NumericalMath` NLimit` NLimit[Zeta[s] - l/(s-l), s->l] 0.577216 N[EulerGamma] 0.577216 С помощью команды Options [NLimit] можно просмотреть опции, которые используются функцией NLimit по умолчанию. В этом подпакете задано также вычисление бесконечных сумм Эйлера EulerSum[f, { i, imin, Infinity} ].

40 Имеется также функция вычисления производной в численном виде: ND [ f,

Имеется также функция вычисления производной в численном виде: ND [ f,

х, хО] — вычисляет первую производную f(x) в точке х0; ND[f, {x,n} ,х0] — вычисляет п-ю производную f(X) в точке х0. Пример вычисления производной: ND[Exp[Sin[x]], х, 2] -1.03312 Options[ND] {WorkingPrecision-> 16, Scale-> 1, Terms-> 7, Method-> EulerSum] В некоторых случаях вычисления могут быть ошибочными. Тогда следует использовать опции — особенно опцию выбора метода Method. Помимо метода по умолчанию (EulerSum) можно использовать NIntegrate (метод интегрирования по формуле Коши).

41 Численное вычисление остатка — N Residue В подпакете NResidue имеется

Численное вычисление остатка — N Residue В подпакете NResidue имеется

функция вычисления остатка NResidue [expr, {x, x0} ] в точке х=х0: <<NumericalMath` NResidue` NResidue[1/z, {z, 0}] 1. + 6.35614x 10-18 I Residue[f, {z, 1.7}] 0 NResidue[f, {z, 1.7}] 0.259067 - 1.9353xl0-17I l/((z+.2+.5 I)(z+.2-.5 I)) /. z -> 1.7 0.259067 + 0. I Options[NResidue] Численное разложение в ряд — NSeries Подпакет NSeries вводит функцию NSeries [f, {x,xO,n}], которая дает численный ряд, аппроксимирующий функцию f(x) в окрестности точки х = х 0 , включая термы от (х -х 0 ) -n до (х - х 0 ) п .

42 Вычисление коэффициентов формулы интегрирования Ньютона—Котесса —

Вычисление коэффициентов формулы интегрирования Ньютона—Котесса —

NewtonCotes Функция NIntegrate, имеющаяся в ядре системы Mathematica, реализует метод интегрирования Гаусса—Кронрода. Еще одним известным методом интегрирования является метод Ньютона—Котесса, сводящий интегрирование к вычислению взвешенных ординат функции в равномерно расположенных точках оси абсцисс. Для реализации метода используются следующие функции: NewtonCotesWeights [n, a, b] — возвращает список весовых коэффициентов и абсцисс узловых точек {wi, xi} для квадратуры Ньютона—Котесса на интервале от а до b; NewtonCotesError [n, f, a, b] — возвращает погрешность формулы Ньютона—Котесса для заданной функции f. <<NumericalMath` NewtonCotes` NewtonCotesWeights[5, 0, 10] NewtonCotesError[5, f, 0, 10] NewtonCotesError[5, f, a, a+h] NewtonCotesWeights[5, -0, 10, QuadratureType -> Open] NewtonCotesError[5, f, 0, 10, QuadratureType -> Open] Обратите внимание на то, что приведенные формулы готовят данные для численного интегрирования методом Ньютона—Котесса, но не выполняют самого интегрирования.

43 Статистические расчеты Статистические расчеты — пакет Statistics

Статистические расчеты Статистические расчеты — пакет Statistics

Построение гистограмм Статистика распределен и и Статистическая обработка данных Сглаживание данных Регрессия различного вида В ядре системы Mathematica практически нет статистических функций. Зато пакет расширения Statistics дает сотни функций, охватывающих практически все разделы теоретической и прикладной статистики. Тем не менее, вопрос о привлечении универсальных математических систем к выполнению серьезных математических расчетов является спорным из-за существования множества специальных статистических компьютерных систем, таких как Statistica, StatGraphics и т. д. Большинство специализированных статистических программ предлагают специальный интерфейс, базирующийся на обработке табличных данных большого объема, реализуют многовариантный расчет необходимых статистических параметров (например, регрессию сразу по десяткам формул) и отсев заведомо ошибочных данных. Поэтому при статистических расчетах применение подобных программ предпочтительно.

44 Состав пакета Statistics Пакет расширения Statistics содержит

Состав пакета Statistics Пакет расширения Statistics содержит

следующие подпакеты: Confidencelntervals — функции доверительных интервалов; ContinuousDistributions — функции непрерывных распределений; DataManipulation — манипуляции с данными; DataSmoothing — сглаживание данных; DescriptiveStatistics — статистика распределений; DiscreteDistributions — функции дискретных распределений; HypothesisTests — проверка статистических гипотез; LinearRegression — линейная регрессия; MultiDescriptiveStatistics — статистика многомерных распределений; MultinormalDistribution — функции многомерных нормальных распределений; NonlinearFit — нелинейная регрессия; NormalDistribution — функции нормального распределения; Common — данные общего характера. Как и ранее, для работы каждого из подпакетов требуется его загрузка в память компьютера с помощью команды <<Statistics`Имя_подпакета` Имена подпакетов расширения статистики приведены выше.

45 Манипуляции с данными — DataManipulation Статистические данные обычно

Манипуляции с данными — DataManipulation Статистические данные обычно

бывают представлены в виде списков — как одномерных, так и двумерных (таблиц и матриц) и даже многомерных. Большая часть функций, обеспечивающих манипуляции с данными, сосредоточена в подпакете DataManipulation. Данные могут вводиться в строках ввода или считываться из файлов с помощью функции ReadList. Для манипуляций с данными могут использоваться многие функции ядра системы, описанные ранее, — в частности, все функции обработки списков. Подпакет DataManipulation дает ряд удобных функций. Ниже представлена первая группа таких функций: Column [data, n] — возвращает n-й столбец списка data; Column [data, {nl, n2,...}] — возвращает список из столбцов ni списка данных; ColumnTake [data, spec] — возвращает столбцы списка data с данной спецификацией spec; ColumnDrop [data, spec] — удаляет столбцы списка data с данной спецификацией spec; Column Jo in [datal, data2,...] — объединяет столбцы списков datai; RowJoin [datal, data2,...] — объединяет строки списков datai; DropNonNumeric [data] — удаляет из списка data нечисловые элементы; DropNonNumericColumnfdata] — удаляет из списка data столбцы с нечисловыми элементами Полезны также следующие функции подпакета: BooleanSelect [list, sel] — удаляет из list элементы, которые дают True при тестировании выражения sel; TakeWhile [list,pred] — удаляет из list все элементы, начиная с того, для которого pred дает True; LengthWhile [list,pred] — возвращает число элементов, которые были удалены после того, как pred дало значение True (отсчет с начала списка).

46 Построение гистограмм Ряд функций служит для подготовки данных с целью

Построение гистограмм Ряд функций служит для подготовки данных с целью

построения гистограмм: Frequencies [list] — готовит данные для представления частотной гистограммы; QuantileForm[list] — дает отсортированные данные для представления квантилей; CumulativeSums [list] — дает кумулятивное суммирование данных списка. Пример построения гистограммы по данным списка из двойных элементов с помощью функции Frequencies дан на рис. 12.1. Для построения графика при этом использована функция BarChart из пакета расширения Graphics. Для подготовки гистограмм могут использоваться и следующие функции: BinCounts[data,{min,max,dx}] RangeCounts [data, {cl, c2,...} ] CategoryCounts [data, {el, e2,...} ] BinLists[data,{min,max,dx}] RangeLists [data, {cl,c2,...} ] CategoryLists [data, {el, e2,...} ] С примерами их работы можно ознакомиться по справочной системе Mathenatica, содержащей полное описание данного подпакета.

47 Статистика распределений — DescriptiveStatistics В подпакете

Статистика распределений — DescriptiveStatistics В подпакете

DescriptiveStatistics сосредоточены наиболее важные функции по статистике распределений: CentralMoment (data, r) — возвращает центральный момент данных data порядка r; Mean [data] — возвращает среднее значение данных data; MeanDeviation [data] — возвращает среднее отклонение данных; Median [data] — возвращает центральное значение (медиану) данных; MedianDeviation [data] — возвращает абсолютное отклонение (от медианы) данных; Skewness [data] — возвращает коэффициент асимметрии данных; StandardDeviation [data] — возвращает стандартное отклонение данных; GeometricMean [data] — возвращает геометрическое среднее данных; HarmonicMean [data] — возвращает гармоническое среднее данных; RootMeanSquare [data] — возвращает среднеквадратичное значение данных; Quantile [data, q] — возвращает q-й квантиль; InterpolatingQuantile [data, q] — возвращает q-й квантиль, используя при вычислениях интерполяцию данных; VarianceData [data] — возвращает среднеквадратичное отклонение данных.

48 Мы не приводим определений этих функций, поскольку при символьных

Мы не приводим определений этих функций, поскольку при символьных

данных data их легко получить именно в том виде, который реализован в системе Mathematica: ds={xl,x2,x3} {xl, x2, хЗ} Mean[ds] 1/3 *(xl + x2 + x3) MeanDeviation[ds] 1/3 (Abs[xl + — (-xl-x2-x3)] + Abs[x2+ 1/3 (-xl-x2-x3) + Abs 1/3[-xl-x2-x3) +хЗ]) Median[ds] x2 Variancefds] 1/2((x1+1/3(-xl + x2 - x3))2 + (x2 + 1/3 (-xl-x2-x3))2 + (— (-xl-x2-x3) + x3)2) Skewness[ds] (SQRT(3) ( (xl 4- -1 (-xl - x2 - x3))3 + (x2+1/3 (-xl-x2-x3))3 + (1/3 (-xl -x2- x3) + x3))2 / (x2+ 1/3 (-xl-x2-x3))2 +(1/3 (-xl-x2-x3) +х3)2 )^(3/2)

49 Следующие примеры поясняют действие этих функций при обработке

Следующие примеры поясняют действие этих функций при обработке

численных данных: <<Statistics'DescriptiveStatis tics' data:={10.1,9.6,11,8.2,7.5,12,8.6,9} CentralMoment[data,2] 1.9525 Mean[data] 9.5 MeanDeviation[data] 1.175 Median[data] 9.3 MedianDeviation[data] 0.95 Skewness[data] 0.374139 StandardDeviation[data] 1.4938 GeometricMean[data] 9.39935 HarmonicMean[data] 9.30131 RootMeanSquare[data] 9.60221 Quantile[data,1] 12 InterpolatingQuantile[data,1] InterpolatingQuantile[ {10.1, 9.6, 11, 8.2, 7.5, 12, 8.6, 9), 1] Variance[data] 2.23143 С рядом других, менее распространенных функций этого подпакета можно ознакомиться с помощью справочной системы. Там же даны примеры их применения.

50 Сглаживание данных — DataSmoothing В подпакете DataSmoothing

Сглаживание данных — DataSmoothing В подпакете DataSmoothing

определены функции для сглаживания данных, имеющих большой случайный разброс. К таким данным обычно относятся результаты ряда физических экспериментов, например по энергии элементарных частиц, или сигналы, поступающие из космоса. Для того чтобы отсеять информацию из таких данных с большим уровнем шумов и применяется процедура сглаживания. Она может быть линейной (например, усреднение по ряду точек) или нелинейной. Определены следующие функции сглаживания: MovingAverage [data, r] — сглаживание данных data методом усреднения для г точек; MovingMedian [data, r] — сглаживание данных data по медиане для г точек (опция RepeatedSmoothing->True используется для повторного сглаживания); LinearFilter [data, {c0, cl,..., сr-1} ] — линейная фильтрация (сj— весовые множители); ExponentialSmoothing [data, a] — экспоненциальное (нелинейное) сглаживание, параметр а задает степень сглаживания. Ниже представлены результаты сглаживания символьных данных, выявляющие соотношения, используемые при сглаживании: ds : = {xl, х2 , хЗ , х4 , х5} MovingAverage[ds,3] {1/3* (xl + x2 + x3), — (х2 + хЗ + х4), — (хЗ + х4 + х5)} MovingMedian[ds,3] {х2, хЗ, х4} ExponentialSmoothing[ds, 0.2] {xl, xl + 0.2 (-xl + x2) , xl+0.2 (-xl + x2) +0.2 (-xl-0.2 (-xl + x2) + x3) , xl+0.2(-xl+x2)+0.2 (-xl-0.2 (-xl + x2) +x3) + 0.2 (-xl-0.2 (-xl+x2) - 0.2 (-xl- 0.2 (-xl + x2) + x3) + x4) , xl+0.2(-xl + x2) +0.2(-xl-0.2(-xl + x2) +x3) + 0.2 (-xl- 0.2 (-xl+x2) -0.2(-xl-0.2(-xl + x2) + x3) + x4) + 0.2 (-xl- 0.2 (-xl+x2) - 0.2 (-xl- 0.2 (-xl+x2) + x3) - 0.2 (-xl-0.2 (-xl+x2) -0.2 (-xl-0.2 (-xl + x2) + x3) + x4) + x5)}

51 Другие подпакеты расширения Statistics Подпакет NormalDistribution

Другие подпакеты расширения Statistics Подпакет NormalDistribution

содержит хорошо известные функции нормального распределения вероятностей и родственные им функции следующих распределений: NormalDistribution [mu, sigma] — нормальное распределение; StudentTDistribution [r] — T-распределение Стьюдента; ChiSquareDistribution [r] — X 2 -распределение; FRatioDistribution [rl, r2] — F-распределение. Для этих и многих других непрерывных распределений заданы также функции плотности распределения, среднего значения, среднеквадратичного отклонения, стандартного отклонения, вычисления коэффициента асимметрии и т. д. Целый ряд таких функций задан и в подпакете ContinuousDistributions для ряда функций непрерывного распределения. Мы не приводим их, поскольку они подобны функциям обработки списков, описанным выше. Рисунок 12.4 иллюстрирует получение выражения для плотности нормального распределения pdf и получение графика плотности этого распределения со смещенной вершиной. Подпакет DiscreteDistributions содержит подобные функции для дискретного распределения вероятностей (Пуассона, биномиального, гипергеометрического и иных распределений). Таким образом, три упомянутых подпакета охватывают практически все имеющие применение законы распределения. Функции для оценки доверительных интервалов сосредоточены в подпакете Confidencelntervals.

52 В подпакете HypothesisTests сосредоточено сравнительно небольшое число

В подпакете HypothesisTests сосредоточено сравнительно небольшое число

хорошо известных функций для выполнения тестов проверки статистических гипотез. Загрузка пакета и проведение теста на среднее значение показаны ниже: <<Statistics` HypothesisTests` datal = {34, 37, 44, 31, 41, 42, 38, 45, 42, 38}; MeanTest[datal, 34, KnownVariance -> 8] QneSidedPValue -> 3.05394 x 10-9 ... У специалистов в области статистики интерес вызовут подпакеты MultiDescriptive-Statistics и MultinormalDistribution с многочисленными функциями многомерных распределений. Они позволяют оценивать статистические характеристики объектов, описываемых функциями нескольких переменных. Рисунок 12.5 поясняет загрузку подпакета MultinormalDistribution, получение выражения для плотности нормального распределения по двум переменным xl и х2 и получение трехмерного графика для плотности такого распределения.

53 Регрессия Линейная регрессия общего вида — LinearRegression В

Регрессия Линейная регрессия общего вида — LinearRegression В

подпакете LinearRegression имеются расширенные функции для проведения линейной регрессии общего вида — в дополнение к включенной в ядро функции Fit. Прежде всего это функция Regress: Regress [data, { I, х, х^2 }, х] — осуществляет регрессию данных data, используя квадратичную модель; Regress [data, {I, x1, x2, xlx2 }, {x1, x2 }] — осуществляет регрессию, используя в ходе итераций зависимость между переменными x 1 и х 2 ; Regress [data, {f 1, f2,...}, vars] — осуществляет регрессию, используя модель линейной регрессии общего вида с уравнением регрессии, представляющим линейную комбинацию функций f i от переменных vars. Данные могут быть представлены списком ординат {у1,у2,...} или списком {{xll,xl2,...,yl}, {х21,х22,...,у2},...}.

54 Нелинейная регрессия — NonlinearFit В подпакете NonlinearFit

Нелинейная регрессия — NonlinearFit В подпакете NonlinearFit

содержатся функции для выполнения нелинейной регрессии общего вида: NonlinearFit[data,model,variables,parameters] — выполняет регрессию по заданной модели (формуле) model с переменными variables и параметрами parameters для заданных данных data; NonlinearRegress[data,model,variables,parameters] —выполняет регрессию по заданной модели (формуле) model с переменными variables и параметрами parameters для заданных данных data с выдачей списка диагностики. Данные могут быть представлены списком ординат {у1,у2,...} или списком {{x11,x12,..., yl}, {х21, х22,..., у2},...}. В ходе регрессии минимизируются заданные параметры, так что заданная модель регрессии приближает данные с минимальной среднеквадратичной погрешностью.

55 На рис

На рис

12.7 показан пример выполнения логарифмической регрессии. При ней модель представлена выражением a*Log[b*x]. Результатом действия функции NonlinearFit является уравнение регрессии в виде этой модели с найденными значениями параметров а и Ь. Представлена также визуализация регрессии в виде графика функции-модели и исходных точек. Следует отметить, что реализация нелинейной регрессии разными методами может давать заметно различающиеся результаты, так что представленные результаты не являются абсолютно строгими.

56 Полиномиальная регрессия — PolynomialFit К сожалению, средства

Полиномиальная регрессия — PolynomialFit К сожалению, средства

регрессии в Mathematica разбросаны по разным пакетам. Так, в подпакете PolynomialFit пакета NumericalMath определена функция для полиномиальной регрессии: PolynomialFit [data, n] — возвращает полином степени п, обеспечивающий наилучшее среднеквадратичное приближение для данных, представленных параметром data. Если data является списком ординат функции, то абсциссы формируются автоматически с шагом 1. Если data является списком координат {xi,yi}, то полином наилучшим образом приближает зависимости Ниже представлен пример применения функции полиномиальной аппроксимации <<NumericalMath`PolynomialFit` р = PolynomialFit[{l,3.9,4.1,8.9,16,24.5,37,50},3] FittingPolyncmial [ <> , 3] p[5] 15.8727 Expand[p[x]] 2.35-1.44066x+0.659848x2 +0.0338384x3

57 Сплайн-регрессия — SplineFit Сплайны представляют собой набор

Сплайн-регрессия — SplineFit Сплайны представляют собой набор

полиномов невысокой степени, последовательно применяемых к наборам точек аппроксимирующей функции. Чаще всего используется кубическая сплайновая аппроксимация, при которой коэффициенты полиномов выбираются из условий равенства в стыкуемых точках не только значений функции, но также первой и второй производных. Это придает графику сплайна вид плавной кривой, точно проходящей через узловые точки и напоминающей изгибы гибкой линейки (spline в переводе — гибкая линейка). Подпакет SplineFit пакета NumericalMath содержит функцию для проведения сплайн- регрессии, при которой сплайн-функция проходит максимально близко к аппроксимируемым точкам в смысле наилучшего среднеквадратичного приближения. Для этого используется функция SplineFit [data, type], которая возвращает сплайн функцию для данных data, используя сплайн-аппроксимацию типа type — по умолчанию это кубический сплайн Cube (другие типы — Bezier и CompositeBezier).

58 Рисунок 12

Рисунок 12

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

59 Тригонометрическая регрессия — TrigFit Многие выражения содержат

Тригонометрическая регрессия — TrigFit Многие выражения содержат

периодические тригонометрические функции, например sin(X) или cos(X). Помимо обычного спектрального представления выражений, подпакет TrigFit пакета NumericalMath имеет функции для тригонометрической регрессии: TrigFit [data, n, x] — дает тригонометрическую регрессию для данных data с использованием косинусов и синусов вплоть до cos(n x) и sin(n x) и с периодом 2л; TrigFit [data, n, {x,L}] — дает тригонометрическую регрессию для данных data с использованием косинусов и синусов вплоть до cos(2лuc/L) и sm(2лnx/L) и с периодом I; TrigFit [data, n, {x, x0, xl} ] — дает тригонометрическую регрессию для данных data с использованием косинусов и синусов вплоть до cos(2лn(x - х 0 )/ (x-x0)) и sin(2лn(x-x 0 )/(x 1 -x 0 )) и с периодом (x1-x0).

60 Математические пакеты расширения
61 Математические пакеты расширения
62 Математические пакеты расширения
63 Математические пакеты расширения
64 Математические пакеты расширения
65 Математические пакеты расширения
66 Математические пакеты расширения
67 Математические пакеты расширения
68 Математические пакеты расширения
69 Математические пакеты расширения
70 Математические пакеты расширения
71 Математические пакеты расширения
72 Математические пакеты расширения
73 Математические пакеты расширения
74 Математические пакеты расширения
75 Математические пакеты расширения
76 Математические пакеты расширения
77 Математические пакеты расширения
«Математические пакеты расширения»
http://900igr.net/prezentacija/matematika/matematicheskie-pakety-rasshirenija-191054.html
cсылка на страницу
Урок

Математика

71 тема
Слайды
900igr.net > Презентации по математике > Игры по математике > Математические пакеты расширения