|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
desolve(delist, fnlist),
де delist - список розв‘язуваних диференціальних рівнянь, fnlist - список шуканих функцій. При використанні desolve необхідно явно задавати функціональні залежності (замість ′diff(y, x) використовувати запис diff(y(x), x)). Приклад використання функції desolve: Розв‘язати систему рівнянь (%(%i1) eq1: diff(f(x), x)=diff(g(x), x)+sin(x); (%(%o1) 'diff(f(x), x, 1)='diff(g(x), x, 1)+sin(x) (%(%i3) eq2: diff(g(x), x, 2)=diff(f(x), x) - cos(x); (%(%o3) 'diff(g(x), x, 2)='diff(f(x), x, 1) - cos(x) (%(%i4) desolve([eq1, eq2],[f(x), g(x)]); (%(%o4) [f(x) =%e^x*(at('diff(g(x), x, 1), x=0)) - at('diff(g(x), x, 1), x=0)+f(0) g(x) =%e^x*(at('diff(g(x), x, 1), x=0)) - at('diff(g(x), x, 1), x=0)+cos(x)+g(0) - 1] 7.3.2. Чисельні методи розв‘язання ЗДР У тому разі коли символьний розв‘язок ЗДР неможливо, доцільно використовувати чисельні методи. Maxima включає пакет розширення dynamics, що дозволяє зінтегрувати систему ЗДР методом Рунге-Кутта. З цією метою Maxima включає пакет dynamics (його необхідно завантажувати перед використанням). Метод Рунге-Кутта реалізує функція rk. Синтаксис виклику функції rk: rk([eq], [vars],[init],[t_range]) де eq - список правих частин рівнянь; vars - список залежних змінних; init - список початкових значень; t - range - список [ t, t0, tend, ht ], що містить символьне позначення незалежної змінної (t), її початкове значення (t0), кінцеве значення (tend), крок інтегрування (ht). Розглянемо приклад застосування функції rk пакету dynamics. Вирішити задачу Коші для системи звичайних рівнянь першого порядку за умови: x(0) = - 1,25, y(0) = 0,75. (%(%i1) load("dynamics"); (%(%o1) C:/PROGRA~1/MAXIMA~1.2/share/maxima/5.19.2/share/dynamics/dynamics.mac (%(%i2) rp1:4- x^2-4*y^2; (%(%o2) - 4*y^2 - x^2+4 (%(%i3) rp2: y^2 - x^2+1; (%(%o3) y^2 - x^2+1 (%(%i4) sol: rk([rp1, rp2],[x, y],[- 1.25,0.75],[t, 0,4,0.02])$ Cписок sol не виводиться на екран (він досить довгий, тому завершуємо введення команди символом $). Для побудови графіка рішення перетворимо отриманий список, побуду-вавши окремо список значень t(список xg), x(список yg1), y(список yg2). При побудові графіка використовуємо опцію discrete. (%(%i5) len: length(sol); (%(%o5) 201 (%(%i33) xg: makelist(sol[k][1],k, 1, len)$\\; (%(%i36) yg1: makelist(sol[k][2],k, 1, len)$\\; (%(%i39) yg2: makelist(sol[k][3],k, 1, len)$\\; (%(%i42) plot2d([[discrete, xg, yg1],[discrete, xg, yg2]]); Результат рішення представлений на рис. Завдання для самостійного розв‘язання Розв‘язати задачу Коші 7.86. , , . Відповідь: 7.87. , , . Відповідь: 7.88. , , . Відповідь: 7.89. , , , . Відповідь: 7.90. , , . Відповідь: 7.91. , , . Відповідь: 7.92. , , . Відповідь: 7.93. , , . Відповідь: 7.94. , , . Відповідь: 7.95. , , . Відповідь: 7.96. , , . Відповідь: 7.97. , , .Відповідь: Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |