|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Б) Решение краевой задачи для ОДУ
Пример 3. Решить краевую задачу , , > dsolve({diff(diff(y(x),x),x)-2*diff(y(x),x)+y(x)=sin(x),y(0)=1,y(1)=2},y(x)); Это краевая задача 1-го рода. Maple справляется и с задачей 2-го рода: Пример 4. Решить краевую задачу , , > eqns:={diff(diff(y(x),x),x)+y(x)=1/(1+cos(x)),D(y)(0)=1,D(y)(Pi/2)=1}: > dsolve(eqns,y(x)); Данный пример показывает, что уравнение и дополнительные условия можно задать заранее, объявив вспомогательную переменную (в данном случае eqns) Maple V плохо справляется с решением краевых задач 3-го года. Например, краевую задачу , , он не решает, хотя известно, что аналитическое решение существует. Но выход можно найти, если сначала получить общее решение, содержащее две произвольные постоянные, а затем определить эти постоянные, удовлетворив граничным условиям. Приведенный ниже фрагмент демонстрирует такую возможность. >eqns:=diff(diff(y(x),x),x)+y(x)=sin(x): # уравнение > bound:={D(y)(0)+2*y(0)=-1,D(y)(Pi/2)-y(Pi/2)=0};# граничные условия t:=dsolve(eqns,y(x)); # получение общего решения > y:=unapply(subs(t,y(x)),x);# задание функции y(x) для хранения общего решения > solve(bound,{_C1,_C2}); # нахождение произвольн. постоянных из системы двух уравнений > subs(r,y(x));# подстановка найденных значений _C1 и _С2 Отметим, что Maple версии 7 и выше справляется с решением этой задачи: > eqns:={diff(diff(y(x),x),x)+y(x)=sin(x),D(y)(0)+2*y(0)=-1,D(y)(Pi/2)-y(Pi/2)=0}: > dsolve(eqns,y(x));
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |