Слайд 1Реферат
на тему:
Аналитическое решение уравнений и их систем в пакетах символьной математики
Студентка:
Родионова А. В.
Слайд 2Mathematica
Для решения дифференциальных уравнений в аналитической
форме в пакете Mathematica используется
функция DSolve
Для получения частного решения необходимо в качестве первого аргумента
DSolve указать список, состоящий из самого уравнения и начальных
или граничных условий:
Слайд 3Найденные с помощью DSolve решения можно подставить в любое выражение,
содержащее
y(x). Однако это решение не определяет правил замены
производных y’(x), y’’(x) и так далее, например:
Слайд 4Для решения систем уравнений в качестве первого аргумента
функции указывается список
уравнений, а в качестве второго
аргумента – список искомых функций:
Если в список уравнений включить необходимое количество
начальных или граничных условий, то будет найдено частное
решение системы ДУ, не содержащее произвольных постоянных:
Слайд 5Для некоторых уравнений решение может быть выражено через
спецфункции, встроенные в
пакет Mathematica.
Если же DSolve не может найти аналитического решения ДУ,
то Mathematica просто перепечатывает введенные данные в выходную ячейку:
В этом случае нужно преобразовать ДУ к более простому виду,
используя правила, известные из теории дифференциальных уравнений.
Если же аналитически решить уравнение не удается,
можно попробовать решить его численно.
Слайд 6
Примеры из математического анализа
Разумеется, роль систем символьной математики далеко не исчерпывается
приведенными выше примерами. Эти системы способны преобразовывать сложнейшие алгебраические выражения, находить аналитические решения сложных систем линейных, нелинейных и дифференциальных уравнений, манипулировать со степенными многочленами, вычислять производные и интегралы, анализировать функции, находить их пределы и т. д. Это видно уже из примеров, представленных на рис. 1.6 .
Слайд 7Рис. 1. 6 . Примеры вычислений из области математического анализа
Слайд 8В этих примерах функция D (как приятное исключение из правил, обозначенная
одной буквой) вычисляет производную, функция Integrate — интеграл, функция Solve решает нелинейное уравнение (в данном случае квадратное), а функция Series разлагает выражение в ряд относительно заданной переменной и при заданных начальном значении переменной и максимальной степени ряда. В фигурных скобках задаются списки некоторых входных и выходных параметров (аргументов).
Слайд 9Системы символьной математики являются справочниками по многим специальным функциям. При этом
они способны давать результаты вычислений в виде специальных функций, что демонстрируют следующие примеры:
Слайд 10Здесь специальные функции получаются в результате вычисления суммы, символьного интегрирования и
решения в аналитическом виде дифференциального уравнения. Соответствующие функции будут более подробно описаны в дальнейшем. Обратите внимание на то, что эти примеры даны прямо в тексте книги. Мы будем часто использовать такой прием для представления небольших примеров.
Слайд 11Приведем примеры решения дифференциальных уравнений:
DSolve [Derivative [1] [у] [х] ==2*а*х^3, у[х],
х]
{{у[х]->aх4/2+С[1]}}
DSolve[{yl' [х] == 2 х2, у2' [х] == 3 х}, {yl[х], у2[х]}, х]
{{yl[x] ->-2х3/3+C[1], у2[х] ->3х2/2+C[2]}}
DSo2ve{y'[x] +у[х] ==х, у[х], х}
{{у[х] -*-1+х + е-хС[1]}}
DSolve [у" [х] - у' [х] - 6 у [х] == 0, у [х] , х] {{У[х] ->| е-4хС[1] + С[2] -Cos[2x] -|sin[2x]}}
DSolve [у" [х] + 4 у'[х] == 10 Sin [2 х] , у [х] , х]
{{У[х] ->| е-4хС[1] + С[2] -Cos[2x] -|sin[2x]}}
DSolve[y'[x] == Sin[Ex] , y[x] , x]
{{y[x] ->C[1] +Sinlntegral[ex]}}
DSolvefz2 w"[z] +zw'[z] - (z2 + l)w[z] ==0, w[z], z]
{{w[z] ->BesselI[l, z] C[l] +BesselK[l, z] C[2] }}
Слайд 12Maple
Аналитическое решение дифференциальных уравнений
Общее решение дифференциальных уравнений.
Для нахождения аналитических решений дифференциальных
уравнений в Maple применяется команда dsolve(eq,var,options),где eq – дифференциальное уравнение, var – неизвестные функции, options – параметры. Параметры могут указывать метод решения задачи, например, по умолчанию ищется аналитическое решение: type=exact. При составлении дифференциальных уравнений для обозначения производной применяется команда diff, например, дифференциальное уравнение y''+y=x записывается в виде: diff(y(x),x$2)+y(x)=x.
Слайд 13Общее решение дифференциального уравнения зависит от произвольных постоянных, число которых равно
порядку дифференциального уравнения. В Maple такие постоянные, как правило, обозначаются как _С1, _С2, и т.д.
Слайд 14Общее решение неоднородного линейного дифференциального уравнения всегда выводится так, чтобы была
четко видна, структура этого решения. Как известно, общее решение неоднородного линейного дифференциального уравнения равно сумме общего решения соответствующего однородного дифференциального уравнения и частного решения этого же неоднородного дифференциального уравнения. Поэтому в строке вывода решение неоднородного линейного дифференциального уравнения всегда состоит из слагаемых, которые содержат произвольные постоянные (это общее решения соответствующего однородного дифференциального уравнения), и слагаемых без произвольных постоянных (это частное решения этого же неоднородного дифференциального уравнения).
Слайд 15Команда dsolve выдает решение дифференциального уравнения в невычисляемом формате. Для того, чтобы с
решением можно было бы работать далее (например, построить график решения) следует отделить правую часть полученного решения командой rhs(%).
Слайд 19Mathcad
Аналитические вычисления в Mathcad
С помощью аналитических вычислений находят аналитические или полные
решения уравнений и систем, вычисляют в производные и неопределенные интегралы, а также проводят преобразования сложных выражений (например, упрощение). Иначе говоря, при таком подходе можно получить результат в виде некоторой функции. В программе Mathcad при проведении символьных преобразований конкретные значения, присвоенные переменным, игнорируются – переменные рассматриваются как неопределенные параметры.
Слайд 22Команды для выполнения аналитических вычислений в основном сосредоточены в меню Символика (Symbolics) и
продублированы на аналогичной панели инструментов.
Чтобы упростить выражение (или часть выражения), надо выбрать его при помощи уголкового курсора и дать команду Символика > Упростить (Symbolics > Simplify). При этом выполняются арифметические действия, сокращаются общие множители и приводятся подобные члены, применяются тригонометрические тождества, упрощаются выражения с радикалами, а также выражения, содержащие прямую и обратную функции. Некоторые действия по раскрытию скобок и упрощению сложных тригонометрических выражений требуют применения команды Символика > Раскрыть/Расширить (Symbolics > Expand).
Слайд 23В меню Символика (Symbolics) предусмотрен ряд операций, ориентированных на выделенную переменную, использованную в
выражении. Например, команда Solve (Решить) ищет корни функции, заданной данным выражением. В примере в аналитической форме получены все корни полинома второй степени: сначала применена команда solve для решения, а затем simplify для упрощения результата:
Слайд 24Другие возможности использования этого меню включают:
аналитическое дифференцирование и интегрирование: Символика > Переменная
> Дифференцировать (Symbolics > Variable > Differentiate) и Символика > Переменная > Интегрировать (Symbolics > Variable > Integrate);
Слайд 25замена переменной: Символика > Переменная > Подставить (Symbolics > Variable > Substitute) –
вместо переменной подставляется содержимое буфера обмена;
Слайд 26Механизм аналитических вычислений можно использовать для аналитического решения уравнений и систем
уравнений и неравенств. Для этого задается блок решения Given, в который помещаются уравния и неравенства, а последняя формула блока должна выглядеть как
Find(х,у,...) ,
где в скобках приведен список искомых величин, а далее следует знак аналитического вычисления, отображаемый в виде стрелки, направленной вправо:
Слайд 27Отметим, что функция Find пытается найти решение в аналитической форме. В том случае,
если до блока Given задать численно значения всех параметров, входящих в уравнения, а также начальные приближения для корней, то получим решение в числовом виде.
Примеры использования функции Find для решения уравнений и систем уравнений различного типа приведены в соответствующих разделах пособия.
Любое аналитическое вычисление можно применить с помощью ключевого слова. Cписок ключевых слов
Слайд 28MATLAB
Решение систем дифференциальных уравнений в символьном виде в системе MATLAB
Для решения
дифференциальных уравнений в форме Коши MatLAB имеет функцию dsolve(‘eqn1’,’eqn2’, …), которая возвращает аналитическое решение системы дифференциальных уравнений с начальными условиями. Они задаются равенствами eqni(вначале задаются уравнения, затем начальные условия).
По умолчанию независимой переменной считается ‘t’ . Можно использовать и другую переменную, включив ее в конец списка параметров функции dsolve. Символ D обозначает производную по независимой переменной, то есть d/dt, при этом D2 означает d^2/dt^2 и т.д.
Начальные условия задаются в виде равенств ‘y(a) = b’ или ‘Dy(a) = b’, где y - независимая переменная, a и b – константы. Если число начальных условий меньше, чем число дифференциальных уравнений, то в решений будут присутствовать произвольные постоянные С1, С2 и т.д. Вывод осуществляется в виде массива записей.
Слайд 29Пример решения задачи
Обратите внимание, что уравнение, которое требуется решить, задано как
строка, то есть взято в одинарные кавычки. Ответ представляет собой точное
(символьное) решение 1+корень(5). Для получения числовых решений введите double
(ans) или vpa (ans), чтобы отобразить больше знаков. Ввод с командой solve
может также быть символьным выражением, но в этом случае программа MATLAB
потребует, чтобы правая часть выражения была заключена в скобки, и
фактически синтаксис решения уравнения х2 - Зх = -7 будет выглядеть так:
Слайд 30Ответ представляет собой точное (символьное) решение (3 + корень(19i))/2
(сложные числа,
где буква i в ответе ставится для мнимой единицы V-1). Для
получения числовых решений введите double (ans) или vpa (ans), чтобы
отобразить больше знаков.