Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 97
Текст из файла (страница 97)
Если же выпредпочтете решать задачу такого рода нелинейными методами, то возможен целыйряд дополнительных проблем, связанных с их большей чувствительностью к начальному приближению и меньшей надежностью нахождения решения.Конечно, решенная задача — очень простая по сравнению со многими из тех проблем,которые могут быть решены с помощью приемов линейного программирования. В случае многих задач нам бы пришлось сканировать промежуток одной или несколькихпеременных, чтобы из множества минимумов или максимумов выбрать наибольший.Но разбирать такие примеры в этой книге мы не будем: все ходы, которые при этомнужно использовать, уже отлично вам знакомы, и в случае необходимости вы напишете соответствующий алгоритм самостоятельно.Глава 14. ДифференциальныеуравненияПожалуй, мы будем не столь уж не правы, назвав дифференциальные уравнения самойинтересной, но и при этом самой сложной проблемой, решаемой прикладной математикой.
Вся современная физика, техника и даже, в некоторой мере, экономика используют их для моделирования реальных процессов. И те точность и феноменальнаяпредсказательная способность, которыми обладают дифференциальные уравнения,не могут не поражать.Все дифференциальные уравнения можно разделить на две большие группы. Еслив уравнение входят производные только по одной переменной, то оно называется обыкновенным дифференциальным уравнением (ordinary differential equation) — ОДУ.Если же его образуют производные по разным переменным, то оно называется дифференциальным уравнением в частных производных или, в более традиционной терминологии, уравнением математической физики (partial differential equation).
В Mathcadимеются встроенные функции для решения дифференциальных уравнений двух типов.В этой главе мы обсудим встроенные средства Mathcad для решения ОДУ и их систем,поговорим о краевых задачах, продемонстрируем, как можно в некоторых случаях найти решение в аналитическом виде. Отдельным вопросом разберем особенности жестких систем дифференциальных уравнений и дифференциальные уравнения математической физики. Кроме того, чтобы понять специфику решения различных уравненийсредствами Mathcad, мы уделим особое внимание численным методам, лежащим в основе работы некоторых встроенных функций.14.1.
Аналитическое решение ОДУи систем ОДУВозможности символьного решения дифференциальных уравнений в Mathcad, к сожалению, довольно ограничены. Как известно, решением любого дифференциального уравнения является функция, обращающая это уравнение в тождество, поэтому найти напрямую, подобно алгебраическому уравнению, корни ОДУ, каким бы оно ни былопростым, нельзя в принципе. Однако высочайший вычислительный потенциал символьного процессора в области интегральных преобразований, решения алгебраических уравнений и интегрирования позволяет в некоторых случаях довольно красивои очень легко находить корни несложных ОДУ и даже систем ОДУ. О том, как это делается, мы и поговорим в этом разделе.14.1.
Аналитическое решение ОДУ и систем ОДУ* 43314.1.1. Решение дифференциальных уравненийс применением преобразования ЛапласаЕсли дифференциальное уравнение, которое вам нужно решить, имеет постоянныекоэффициенты, то предельно просто можно найти его корни, используя преобразование Лапласа.Математический смысл преобразования Лапласа заключается в установлении взаимно однозначного соответствия между функцией действительной переменной f(t) (в терминологии операционного исчисления — оригиналом) и некоторой функцией комплексной переменной F(s), называемой изображением.
Функция F(s) определяетсяравенством, которое получило название интеграла Лапласа:/-00F(s) =f(x)-exp(-s-x) dxJ0Преобразование Лапласа широко используется в связи с тем, что многие математические операции проще проводить над изображением, чем над оригиналом (например,дифференцированию в оригинале соответствует умножение в изображении).Преобразование Лапласа переводит дифференциальное уравнение в соответствующееалгебраическое, аналитически решив которое и применив к нему операцию обратногопреобразования Лапласа, можно получить решение ОДУ в общем виде. Именно этуидею мы и используем для того, чтобы найти корни дифференциального уравненияс постоянными коэффициентами (если они будут зависеть от каких-то функций, то,скорее всего, символьный процессор просто не сможет решить полученное алгебраическое уравнение — если, конечно, системе удастся провести само преобразование).В принципе, возможности решения ОДУ и систем ОДУ с помощью преобразованияЛапласа довольно ограничены, на что есть вполне объективные причины.
ИнтегралЛапласа является несобственным и сходится лишь в том случае, когда функция f(x)удовлетворяет следующим условиям:• f(x), равно как и ее производные, непрерывна для всех неотрицательных х, однакона любом конечном интервале допускается наличие конечного количества точекразрыва 1-го рода, в которых это условие не выполняется;О при х<0 функция принимает нулевые значения: f(x)=O;а• f(x) возрастает медленнее экспоненциальной функции М-е \ При х>0 существуютположительные М и а, при которых выполняется неравенство |f(x)| < M-eax.Несмотря на довольно большое количество ограничений, с помощью преобразованияЛапласа можно найти корни практически всех дифференциальных уравнений, которые могут встретиться в практикуме по высшей математике технического или гуманитарного вуза. Убедимся в этом на конкретных примерах.Пример 14.1.
Найти корни неоднородного дифференциального уравнениявторого порядка Х"+4Х'=12cos(2t)Приступая к решению уравнения, получим, прежде всего, его изображение с помощью прямогопреобразования Лапласа. Для этого используем специальный оператор laplace (Лапласа) панелиSymbolic (Символьные):i laplace,i-»4 3 4 • Глава 14. Дифференциальные уравненияВ левом маркере этого оператора должно быть определено преобразуемое выражение (обязательно без «=», то есть все члены из правой части уравнения должны быть перенесены в левую),в правом — переменная, по которой будет осуществляться преобразование (в нашем случае — t):.2A;X(t) + 4X(t) - 12cos(2t) laplace.t ->dtts • (s -laplace(X(t),t,s) - X(0)) - t < - 0+ 4-laplace(X(t),t,s)-12-(Л4)dtДалее следует упростить полученное громоздкое выражение.
Для этого переменную laplace( X(t),t,s)(которая соответствует корню ОДУ) заменим, например, на z, более воспринимаемую визуально. Кроме того, в изображении присутствует довольно странное определение начального условия для первой производной:t*-0dtПроводить дальнейшие преобразования при наличии такого рода элементов невозможно, поэтому введем в выражение обычную константу, например Х'О, и изменим обозначение начальногоусловия для функции с Х(0) на ХО.
В результате получим:ss • (s • z - ХО) - Х'О + 4 • z - 12 •(Л 4)После того как изображение ОДУ приведено в приемлемый для дальнейших операций вид, егонужно разрешить относительно г. Для этого воспользуемся специальным оператором символьного решения уравнений solve панели Symbolic (Символьные):s • (s • z - ХО) - Х'О + 4 • z - 12 • ,S2(Л4)(s3• ХО + 4 • s • ХО + s2чsolve ,z• Х'О + 4 • Х'О + 12 • s)(Л4)Чтобы получить решение дифференциального уравнения, к полученному решению-изображению нужно применить операцию обратного преобразования Лапласа. Сделать это можно с помощью оператора invlaplace панели Symbolic (Символьные):X O + 4 - s - X 0 + s z - X ' 0 + 4 - X ' 0 + 12-invlaplace., s->-> 3 • t • sin(2 • t) + - • Х'О • sin(2 • t) + ХО • cos (2 • t)14.1. Аналитическое решение ОДУ и систем ОДУ* 435В полученном громоздком выражении желательно привести подобные слагаемые, что можно сделать, задействовав оператор collect панели Symbolic (Символьные):3 • t • sin(2 • t) + - • Х'О • sin(2 • t) + ХО • cos(2 • t) collect,sin(2 • t) ->-> | 3 • t + - • X'O • sin(2 • t) + XO • cos(2 • t)Константы ХО и Х'О входят в независимые произвольные постоянные, определяющие вид искомой функции.
По сути, ХО и Х'О есть начальные условия. Если задать их численно, мы получимзадачу Коши, которая, как известно, имеет единственное решение. Параллельно записав полученное выражение как функцию от t, можно построить соответствующий график (рис. 14.1).Х0:=0X(t)Х'О := 10-50-1010Рис. 1 4 . 1 . Интегральная кривая аналитического решения ОДУКак вы уже убедились, с помощью преобразования Лапласа можно найти корни уравнения со специальной правой частью, подобного рассмотренному нами. С решением однородных уравнений приведенным способом Mathcad справляется ничуть нехуже.Уже при решении уравнений второго порядка приходится оперировать огромнымивыражениями.
Как же поступить, если перед нами стоит задача найти корни уравнения высшего, например, 4-го порядка? Ведь выражение, полученное при попыткепреобразовать подобное уравнение, вряд ли попадет даже в самое широкое поле зрения. В этом случае придется воспользоваться свойством линейности преобразованияЛапласа, благодаря которому можно значительно упростить решение дифференциальных уравнений высших порядков. (Например, для линейной комбинации функций ay(x)+bf(x) существует аналогичная линейная комбинация их изображений:aY(s)+bF(s)).Пример 14.2.
Решить линейное однородное дифференциальноеуравнение y'v-4y"'+6y"-4y>+y=0Производим над функцией y(t) и каждой из ее производных, присутствующих в уравнении, преобразование Лапласа:d4laplace.ts-(s-laplace(y(t),t,s)-y(O))-t<-0dtdtdtt<-0,3;У(0dt4 3 6 •:• Глава 14. Дифференциальные уравненияy(t) laplace.ts(slaplace(y(t),t,s)-y(O))-5dtt«-0t<-0^y(t)4dtdt—^y(t) laplace.t -» s • (s • laplace(y(t),t,s) - y ( 0 ) ) dtdt—y(t) laplace.t -»• s • laplace(y(t),t,s) - y ( 0 )dty(t) laplace,t —> laplace(y(t),t,s)Аналогично предыдущему примеру, заменим функцию laplace(y(t), t, s) на z и запишем начальные условия для производных в классическом виде. Для удобства дальнейших вычислений представим полученные выражения в виде вектора:s-[s-(s-z-yO)-yO]-/0s-(s-z-yO)-yOs-z-yOzУпростим элементы вектора, вызвав команду simplify меню Symbolic:432s -z - s -y0 - s -y'O - s-y"O - y'"023s - z - s -yOV:=2s - z - s-yO - У0sz-yOОбратите внимание, как простым переопределением элементов можно упростить огромные выражения прямого преобразования Лапласа.