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

Решение уравнений в целочисленном виде — isolve

Решение уравнений в целочисленном виде — isolve
Иногда бывает нужен результат в форме только целых чисел. Для этого используется функция isolve(eqns, vans), дающая решение в виде целых чисел. Приведем примеры ее применения:
> iso1ve({2*x-5=3*y}):
{x = 4 + 3_Zl,y= + 2_Z1] 
> iso1ve(y^4-z^2*y^2-3*x*z*y*2-x^3*z);
Во втором из приведенных примеров в выводе появилась вспомогательная переменная %1, которая упрощает запись результата при текстовом формате его вывода (Character Notation). Напоминаем, что в стандартной математической нотации вспомогательная переменная вида %N не формируется. В этом случае упомянутый пример будет выглядеть следующим образом:

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

Функция msolve
Функция msolve(eqns,vars.m) или msolve(eqns,m) обеспечивает решение вида Z mod m (то есть при подстановке решения левая часть4 при делении нат дает остаток, равный правой части уравнения). При отсутствии решения возвращается объект NULL (пустой список). далее…

Решение функциональных уравнений

Решение функциональных уравнений
Решение функционального уравнения, содержащего в составе равенства некоторую функцию f(x), заключается в нахождении этой функции. Для этого можно использовать функцию solve, что демонстрируют приведенные ниже примеры:

Решение уравнений с линейными операторами
Maple 15 позволяет решать уравнения с линейными операторами, например с операторами суммирования рядов и дифференцирования. Ограничимся одним примером такого рода: 

Решение в численном виде — функция fsolve
Для получения численного решения нелинейного уравнения или системы нелинейных уравнений в форме вещественных чисел удобно использовать функцию:
fsolve( eqns. vars. options )
Эта функция может быть использована со следующими параметрами:

  •  complex — находит один или все корни полинома в комплексной форме;
  •  full digits — задает вычисления для полного числа цифр, заданного функцией Digits;
  •  maxsols=n — задает нахождение только n корней;
  •  interval — задается в виде а. .b или х=а. .b, или (х=а. .b, y=c. .d, …} и обеспечивает поиск корней в указанном интервале.

Функция fsolve дает решения сразу в форме вещественных или комплексных чисел, что и показывают следующие примеры:
 
Заметим, что локализация поиска корней в заданном интервале позволяет отыскивать такие решения, которые не удается получить с помощью функций solve и fsolve в обычном применении. В последнем из приведенных примеров дается решение системы нелинейных уравнений, представленных уравнениями f и д.
Чтобы еще раз показать различие между функциями solve и fsolve, рассмотрим пример решения с их помощью одного и того же уравнения erf(x) = 1/2:
> so1ve(erf(x)=l/2,x);
RootOf(2erf(_Z)-l) 
> fsolve(erf(x)=l/2);
.4769362762
Функция solve в этом случае находит нетривиальное решение в комплексной форме через функцию RootOf, тогда как функция fsolve находит обычное приближенное решение.
Решение рекуррентных уравнений — rsolve
Функция solve имеет ряд родственных функций. далее…

Решение систем линейных уравнений

Решение систем линейных уравнений
Для решения систем линейных уравнений созданы мощные матричные методы, которые будут описаны отдельно. Однако функция solve также может с успехом решать системы линейных уравнений. Такое решение в силу простоты записи функции может быть предпочтительным. Для решения система уравнений и перечень неизвестных задаются в виде множеств (см. приведенные ниже примеры). далее…

Решение уравнений и неравенств

Решение уравнений и неравенств
Основная функция solve
Решение линейных и нелинейных уравнений и неравенств — еще одна важная область математического анализа. Maple 15 имеет мощные средства для такого решения. Так, для решения линейных и нелинейных уравнений в аналитическом виде используется достаточно универсальная и гибкая функция solve(eqn, var) или so1ve({eqnl,eqn2,.. .}.{varl,var2,…}), где eqn — уравнение, содержащее функцию ряда переменных, var — переменная, по которой ищется решение, Если при записи eqn не используются знак равенства или знаки отношения, считается, что solve ищет корни уравнения eqn=0.
Характер решений можно изменить с помощью глобальных переменных

  •  _SolutionsMayBeLost — при значении true дает решение, которое при обычном применении функции solve возвращает значения NULL;
  •  _MaxSols — задает максимальное число решений;
  •  _EnvAll Solutions — при значении true задает выдачу всех решений.

В решениях могут встречаться следующие обозначения:

  •  _NN — указывает на неотрицательные решения; 
  •  _В — указывает на решения в бинарной форме;
  •  _Z — указывает на то, что решение содержит целые числа;
  •  %N — при текстовом формате вывода задает общие члены решения и обеспечивает более компактную форму его представления.

В форме solve[subtopic] возможны параметры subtopic функции solve следующих типов:
floats   functions   identity   ineq    linear 
radical  scalar      series     system
При решении систем уравнений они и список переменных задаются как множества, то есть в фигурных скобках. При этом и результат решения получается в виде множества. Чтобы преобразовать его к обычному решению, нужно использовать функцию assign, которая обеспечивает присваивание переменным значений, взятых из множества. далее…

Разложение в ряды Тейлора и Маклорена

Разложение в ряды Тейлора и Маклорена
Для разложения в ряд Тейлора используется функция taylor(expr, eq/nm, n). Здесь ехрr — разлагаемое в ряд выражение, eq/nm — равенство (в виде х=а) или имя переменной (например, х), n — необязательный параметр, указывающий на порядок разложения и представленный целым положительным числом (при отсутствии указания порядка он по умолчанию принимается равным 6). При задании eq/nm в виде х=а разложение производится относительно точки х =а. При указании eq/nm в виде просто имени переменной разложение ищется в окрестности нулевой точки, то есть фактически вычисляется ряд Маклорена.
Ниже представлены примеры применения функции taylor:

Не все выражения (функции) имеют разложение в ряд Тейлора. Ниже дан пример такого рода:
> taylor(l/x+x^2,x,5):
Error, does not have a taylor expansion, try seriesQ 
> series(l/x+x^2,x,10);
je-4*2 
> taylor(l/x+x*2,x=l,5);
2 +x — 1 + 2(x — 1f — (x — 1 )3 +(x — 1 )4 +O((x- 1 )5)
Здесь Maple 15 отказалась от вычисления ряда Тейлора в окрестности точки х = 0 (по умолчанию) и предложил воспользоваться функцией series. Однако эта функция просто повторяет исходное разложение. В то же время в окрестности точки х = 1 ряд Тейлора вычисляется.
Для разложения в ряд Тейлора функций нескольких переменных используется библиотечная функция mtaylor:
mtaylor(f. v)
mtaylorCf. v. n)
mtaylor(f. v, n, w)
Здесь f — алгебраическое выражение, v — список имен или равенств, n — необязательное число, задающее порядок разложения, w — необязательный список целых чисел, задающих «вес» каждой из переменных списка v. Эта функция должна вызываться из библиотеки Maple 15 с помощью команды readlib:

Для получения только коэффициента при k=м члене ряда Тейлора можно использовать функцию coeftayl (expr,var,k). Если ехрr — функция нескольких переменных, то k должен задаваться списком порядков коэффициентов.

Пример документа — разложение синуса в ряд
Полезно сочетать разложение выражений (функций) в ряд Тейлора с графической визуализацией такого разложения. далее…

Интегралы с переменными пределами интегрирования

Интегралы с переменными пределами интегрирования
К интересному классу интегралов относятся определенные интегралы с переменными пределами интегрирования. Если обычный определенный интеграл представлен числом (или площадью в геометрической интерпретации), то интегралы с переменными пределами являются функциями этих пределов.
показано два примера задания простых определенных интегралов с переменным верхним пределом (сверху) и обоими пределами интегрирования (снизу).
На этом рисунке построены также графики подынтегральной функции (это наклонная прямая) и функции, которую задает интеграл.
Вычисление кратных интегралов
Функции int и Int могут использоваться для вычисления кратных интегралов, например двойных и тройных. Для этого функции записываются многократно:

Обратите внимание на нечеткую работу функции evalf в последнем примере. далее…