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

Преобразования Лапласа-LaplaceTransform

Преобразования Лапласа-LaplaceTransform
 
Преобразования Лапласа — важный вид интегральных преобразований. Они лежат в основе, например, символического метода расчета электрических цепей. В системе Mathematica 3 функции преобразования размещены в подпакете Laplace-Transform. Но в CKM Mathematica 8 эти функции стали встроенными.
Основными являются следующие функции этого класса:

  • LaplaceTransform[expr, t, s] — возвращает результат прямого преобразования Лапласа для выражения expr [t] в виде функции переменной s;
  • InverseLaplaceTransform[expr, s,t] — возвращает результат обратного преобразования Лапласа для выражения expr [s] в виде функции переменной t;
  • LaplaceTransform [expr, {tl, t2,…}, {s1i, s2,…} ] — возвращает результат прямого преобразования Лапласа для выражения expr [ 11, t2,… ] в виде функции переменных {s1, s2,…};
  • InverseLaplaceTransform [expr, {s1, s2,…}, {tl, t2,…} ] — возвращает результат обратного преобразования Лапласа для выражения expr [s1, s2,…] в виде функции переменных {tl, е2,…}.

Хотя имена переменных t и s можно выбирать произвольно, обычно t означает время, as — оператор Лапласа. далее…

Дифференциальные уравнения

Дифференциальные уравнения
 
Решение дифференциальных уравнений в символьном виде
Дифференциальными принято называть уравнения, в состав которых входят производные функции у(х), представляющей решение уравнения. Дифференциальные уравнения могут быть представлены в различной форме, например в общеизвестной форме Коши:
у'(х) = eqn=f(x,y).
Несколько дифференциальных уравнений образуют систему дифференциальных уравнений. Решение таких систем также возможно средствами Mathematica и подробно описано в ряде книг по использованию системы [65-71]. Дифференциальные уравнения и системы дифференциальных уравнений могут быть линейными и нелинейными. Для линейных уравнений обычно существуют решения в аналитическом виде. далее…

Получение сразу нескольких корней

Получение сразу нескольких корней
Многие уравнения с тригонометрическими функциями могут иметь периодические или близкие к ним решения. К сожалению, функции Mathematica, вычисляющие корни уравнений, не способны в этом случае дать сразу несколько корней. Однако ситуация тут далеко не безнадежна — приведенный ниже пример наглядно показывает это.
Пусть требуется в интервале изменения х от 0 до 20 найти все решения уравнения
х sin(x) + х/2 — 1 = 0
График функции, представляющей левую часть уравнения, показан на 4. Хорошо видно, что он пересекает ось х семь раз, то есть имеет в интересующем нас диапазоне семь корней.
Колебательная составляющая функции обусловлена входящей в нее функцией sin(x), которая имеет нули в точках 0, n, 2n, Зn… Однако, эти значения лишь приближенные, ввиду влияния других членов уравнения.
Ключевая идея получения всех корней уравнения заключается в поиске нужных решений с помощью функции FindRoot, которой последовательно подставляются различные начальные приближения. далее…

Дополнительные функции для решения уравнений

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

  • Auxiliary [v] — применяется модулем Solve для указания того, что переменная v должна использоваться функцией Roots для результирующих решений, но соответствующие значения v не должны быть включены в окончательный ответ;
  • Eliminate [eqns, vars] — исключает переменные vars из системы уравнений eqns;
  • FindRoot [Ihs == rhs, {x, x0}] — ищет численное решение уравнения Ihs == rhs, начиная с х = x0;
  • MainSolve [eqns] — основная функция для преобразования системы уравнений. Ее вызывают Solve и Eliminate. Уравнения должны быть представлены в форме Ihs == rhs. Они могут объединяться с помощью && и | |. MainSolve возвращает False, если не существует решения уравнений, и возвращает True, если все значения переменных являются решениями. MainSolve перестраивает уравнения, применяя определенные директивы;
  • MainSolve [eqns, vars, elim, rest] — пытается перестраивать уравнения eqns так, чтобы найти решения для переменных vars и исключить переменные elim. Список rest может включаться для указания порядка исключения любых остальных переменных;
  • NRoots [lhs==rhs, var] — возвращает список численных приближений корней полиномиального уравнения;
  • Residue [ехрr, {х, х0 } ] — ищет вычет ехрг в точке х = х0;
  • SolveAlways [eqns, vars] — возвращает значения параметров, которые превращают уравнения eqns в тождества для всех значений переменных vars.

Примеры использования некоторых из этих функций показаны на рис. 4.19.
В целом надо отметить, что система Mathematica обладает обширными средствами для решения уравнений и их систем. Умение их применять — залог правильного и эффективного решения сложных математических задач, относящихся к классу решения уравнений.
Графическая иллюстрация и выбор метода решения уравнений
При рассмотрении приведенных выше примеров может сложиться благодушное впечатление о том, что решение нелинейных уравнений может производиться автоматически и без размышлений. Но это далеко не так — представленные выше примеры просто подобраны так, что они имеют решение с помощью соответствующих функций. далее…

Численное решение уравнений

Численное решение уравнений
Многие нелинейные уравнения и системы нелинейных уравнений в принципе не имеют аналитических решений. Однако их решение вполне возможно численными методами. Для численного решения систем нелинейных уравнений используется функция NSolve:

  • NSolve [eqns, vars] — пытается численно решить одно уравнение или систему уравнений eqns относительно переменных vars;
  • NSolve [eqns, vars, elims] — пытается численно решить уравнения eqns относительно vars, исключая переменные elims.

С этой функцией используется единственная опция WorkingPrecision, задающая число верных цифр результата — по умолчанию 16. На представлены примеры использования функции NSolve для численного решения уравнений.
Результаты решения с помощью функции NSolve также рекомендуется проверять с помощью подстановки, например, так:
е=2*х^2 + 5*х- 15 == х^3
-15 + 5х + 2х2 ==х3
r=NSolve[e,x]
{{х->-2.4734}, {х->2.2367-1.03038i},
{х->2.2367 + 1.03038i}}
е/.r
{True, True, True}
Нетрудно заметить, что в данном случае решение верно.
Поиск корней уравнений
Для вычисления корней полиномиальных уравнений используется функция Roots:
Roots[lhs==rhs, var]
На представлены примеры применения функции Roots. далее…

Вычисление интегралов

Вычисление интегралов
 
Вычисление интегралов в символьном виде
Одна из важнейших операций — вычисление первообразных и определенных интегралов в символьном виде. Первообразная — это функция F(x), удовлетворяющая уравнению
f(x)dx = F(x) + C,
где С — постоянная интегрирования. А вычисление определенного интеграла с пределами — верхним b и нижним а — производится по формуле
f(X)dX = F(b)-F(a)
Заметим, что определенный интеграл может быть представлен как аналитическим, так « численным значением. Для вычисления численных значений определенных интегралов разработан ряд приближенных методов — от простых (прямоугольников и трапеций) до сложных, автоматически адаптирующихся к характеру изменения подынтегральной функции f(x).
Для интегрирования в системе Mathematica используются следующие функции:

  • Integrate [f, x] — возвращает первообразную (неопределенный интеграл) подынтегральной функции f по переменной х;
  • Integrate [f, {x, xmin, xmax}] — возвращает значение определенного интеграла с пределами от x min до x max ;
  • Integrate [f, {x, xmin, xmax}, {у, ymin, ymax},…] —возвращает значение кратного интеграла с пределами от x min до x max по переменной х, от y min до y max по переменной у и т. д. (кратность реально не ограничена).

Обычно функция Integrate применяется в простейшей форме, но она имеет три характерные опции:
Options[Integrate]
{Assumptions -> {}, GenerateConditions->Automatic,
PrincipalValue > False)
Для обозначения бесконечных пределов используется константа Infinity. далее…