Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
полезно | Учебники

Записи с меткой «полезно»

Математические пакеты

Математические пакеты
 
Назначение пакетов расширения и обращение к ним
Как уже отмечалось, некоторые функции системы Maple помимо их нахождения в ядре могут быть расположены в стандартной библиотеке и в пакетах, входящих в поставку системы. Это значит, что их не надо приобретать дополнительно, однако перед использованием таких функций надо загрузить их или отдельно, или вместе с целым пакетом, если большинство его функций представляет интерес для пользователя.
Обзор пакетов
В этом уроке дается выборочная информация о функциях, содержащихся в пакетах. Напоминаем, что список пакетов можно получить, используя команду:
>?packages
Этот список приведен ниже:

  •  DEtools — решение дифференциальных уравнений;
  •  Domains — создание областей определений в вычислениях;
  •  GF — поля Галуа;
  •  Gausslnt — работа с целыми числами Гаусса;
  •  Groebner — вычисления в базисе Гробнера;
  •  LREtools — манипуляции с линейными рекуррентными отношениями;
  •  LinearAlgebra — линейная алгебра;
  •  Matlab — интеграция с MATLAB;
  •  Ore_algebra — основные вычисления в алгебре линейных операторов;
  •  PDEtools — решение дифференциальных уравнений в частных производных;
  •  Spread — работа с таблицами;
  •  algcurves — работа с алгебраическими кривыми;
  •  codegen — генерация кодов;
  •  combinat — функции комбинаторики; 
  •  combstruct — структуры комбинаторики;
  •  context — контекстно-зависимые меню;
  •  diffalg — дифференциальная алгебра;
  •  difforms — дифференциальные формы;
  •  finance — финансовые расчеты;
  •  genfunc — рациональные функции;
  •  geom3d — трехмерная геометрия Евклида;
  •  geometry — евклидова геометрия;
  •  group — представление бесконечных групп;
  •  inttrans — интегральные преобразования;
  •  liesymm — симметрия Ли;
  •  linalg — линейная алгебра и структуры данных массивов;
  •  networks — графы;
  •  numapprox — численная аппроксимация;
  •  numtheory — теория чисел;
  •  orthopoly — ортогональные полиномы;
  •  padic — Пи-адические числа;
  •  plots — расширения графики;
  •  plottools — создание дополнительных графических объектов; >
  •  polytools — действия с полиномами;
  •  powseries — формальные степенные ряды;
  •  process — мультипроцессы (для операционной системы Unix);
  •  simplex — линейная оптимизация (симплекс-метод); ‘
  •  stats — статистика;
  •  student — функции в помощь студентам;
  •  sumtools — определенные и неопределенные суммы;
  •  tensor — тензоры и теория относительности.

Как следует из просмотра этого обширного списка, пакеты Maple 15 охватывают многие крупные разделы математики и существенно дополняют возможности системы, предоставляемые средствами ее ядра. Пакеты расширения пишутся на Maple-языке программирования, поэтому они могут легко модернизироваться и пополняться. Этим, в частности, объясняется тот факт, что набор пакетов расширения в Maple 15 существенно пополнен по сравнению с предшествующими реализациями системы. далее…

Контроль уровня вывода решения ДУ

Контроль уровня вывода решения ДУ
Для углубленного анализа аналитического решения ДУ (или системы ДУ) можно использовать специальную возможность управления уровнем вывода решения с помощью системной переменной infilevel(dsolve)=level. Значение level =all дает обычный вывод решения без Комментариев, уровень 1 зарезервирован для информации, которую может сообщить пользователь, уровень 2 или 3 дает более детальный вывод (включая сообщения об использованном алгоритме и технике решения) и, наконец, уровни 4 и 5 дают наиболее детальную информацию (если тиковая есть в дополнение к той информации, которую дает уровень 2 или 3). 
Приведем пример .аналитического решения ДУ третьего порядка с контролем уровня вывода решения: 

В данном случае повышение уровня вывода до 4 или 5 бесполезно, поскольку вся информация о решении сообщается уже при уровне 2 (или 3).
Приближенное полиномиальное решение ДУ
Во многих случаях аналитические решения даже простых ДУ оказываются весьма сложными, например содержат специальные математические функции. При этом нередко полезна подмена такого решения другим, тоже аналитическим, но приближенным решением. Наиболее распространенным приближенным решением в этом случае может быть полиномиальное решение, то есть замена реального решения полиномом той или иной степени. При этом порядок полинома задается значением системной переменной Order, а для получения такого решения функция dsolve должна иметь параметр series.
представлено решение ДУ третьего порядка различными методами: точное аналитическое и приближенное в виде полинома с максимальным заданным порядком 10 и 60. График дает сравнение этих решений для зависимости y(t).
Дадим небольшой комментарий. Нетрудно заметить, что точное аналитическое решение весьма сложно и содержит специальные функции Бесселя и гамма- функции. При порядке полинома 8 (он несколько меньше заданного максимального) решение практически совпадает с точным до значений t < 2, а при максимальном заданном порядке 60 область совпадения расширяется до значений t < 5,5. Затем приближенное решение резко отходит от точного. далее…

Основные функции пакета DEtools

Основные функции пакета DEtools
Ввиду обилия функций пакета DEtools дать их полное описание в данной книге не представляется возможным. Поэтому выборочно рассмотрим наиболее важные функции этого пакета. Функция:
autonomous(des.vars,ivar)
тестирует дифференциальное уравнение (или систему) des. Ее параметрами помимо des являются независимая переменная ivar и зависимая переменная dvar. Следующие примеры поясняют применение этой функции:
> automou(sin(z(t)-z(t)^2)*(D@@4)(z)(t)-cos(z(t))-5,z.t);
true
> DE:=diff(x(s),s)-x(s)*cos(arctan(x(s)))=arctan(s): 
> autonomous(DE.{x},s);
false
Функция Dchangevar используется для обеспечения замен (подстановок) в дифференциальных уравнениях:
Dchangevar(trans,deqns, c_tvar, rMvar)
Dchangevar(tranl, tran2, …. tranN, deqns, c_ivar, n_ivar)
В первом случае trans — список или множество уравнений, которые подставляются в дифференциальное уравнение, список или множество дифференциальных уравнений deqns. При этом c_ivar — имя текущей переменной, n_ivar — имя новой переменной (его задавать необязательно). Во второй форме для подстановки используются уравнения tranl, tran2, …. Ниже представлены примеры применения функции Dchangevar:

 

Следует отметить, что подстановки являются мощным средством решения дифференциальных уравнений. Нередки случаи, когда дифференциальное уравнение не решается без их применения. Дополнительные примеры использования подстановок можно найти в справочной базе данных системы Maple 15.
Функция нормализации ОДУ DEnormal синтаксически записывается в виде:
DEnormal(des,ivar,dvar)
где des — система дифференциальных уравнений, 1var — независимая переменная и dvar — зависимая переменная. Применение этой функции поясняют следующие примеры:

Функция convertAlg(des,dvar) возвращает список коэффициентов формы системы дифференциальных уравнений des с зависимыми переменными dvar. Это поясняют следующие примеры:

Для изменения переменных в системах дифференциальных уравнений используется функция convertsys:
convertsys(deqns, inits, vars, ivar, yvec, ypvec)
Здесь deqns — одно дифференциальное уравнение или список (множество), представляющие систему дифференциальных уравнений первого порядка, inits — множество или список начальных условий, vans — зависимые переменные, ivar — независимые переменные, yvec — вектор решений и ypvec — вектор производных. далее…

Дифференциальные уравнения с кусочными функциями

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

Используя функцию dsolve, выполним решение этого дифференциального уравнения:

Нетрудно заметить, что результат получен также в форме кусочной функции, полностью определяющей решение на трех интервалах изменениях. Приведем пример решения дифференциального уравнения второго порядка с кусочной функцией:

В конце этого раздела приведем пример решения нелинейного дифференциального уравнения Риккати с кусочной функцией:

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

ПРИМЕЧАНИЕ 
Как видно из приведенных достаточно простых и наглядных примеров, результаты решения дифференциальных уравнений с кусочными функциями могут быть довольно громоздкими. Это, однако, не мешает эффективному применению функций данного класса.

Структура неявного представления дифференциальных уравнений — DESol
В ряде случаев иметь явное представление дифференциальных уравнений нецелесообразно. Для неявного их представления в Maple 15 введена специальная структура:
DESol(expr.vars)
где exprs — выражение для исходной системы дифференциальных уравнений, vars — заданный в виде опции список переменных (или одна переменная). далее…

Решение ОДУ первого порядка

Решение ОДУ первого порядка
Начнем рассмотрение практических примеров с решения одиночных обыкновенных дифференциальных уравнений (ОДУ) первого порядка:

Следующие примеры иллюстрируют возможность решения одного и того же дифференциального уравнения ode_L разными методами:

Объем данной книги не позволяет остановиться на всех тонкостях аналитического решения дифференциальных уравнений. Множество примеров такого решения дано в справочной базе данных Maple,. 7- К ней нужно обратиться в случае, если решение того или иного дифференциального уравнения выходит за рамки учебного курса.
Решение дифференциальных уравнений второго порядка
Здесь видно, что для задания производной используется ранее рассмотренная функция diff. С помощью символа $ можно задать производную более высокого порядка. Ниже представлено решение двух дифференциальных уравнений второго порядка:
 

Обратите внимание на решение второго из этих уравнений. далее…

Визуализация корней случайных полиномов

Визуализация корней случайных полиномов.
Наряду с традиционной для математических и статистических программ возможностью генерации случайных чисел Maple 15 предоставляет довольно экзотическую возможность генерации случайных полиномов с высокой максимальной степенью. Для этого используется функция:
randpoly(var,o)
Она возвращает случайный полином переменной var, причем максимальная степень полинома птах может указываться параметром о вида degree=nmax.
Приведем примеры генерации случайного полинома с максимальной степенью 50:

С помощью функции аllvalues можно построить список SA корней случайного полинома. А с помощью команды вида:
> with(plots):
complexplot(SA.x=-1.2..1.2.style=point):
построить комплексные корни полученного случайного полинома в виде точек • на комплексной плоскости. Один из таких графиков (их можно построить множество) показан.
Можно заметить любопытную закономерность — точки, представляющие корни случайного полинома, укладываются вблизи окружности единичного радиуса с центром в начале координат. Однако этот пример, приводимый в ряде книг по Maple, показывает, что порою вычисления могут давать довольно неожиданные результаты. далее…