2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Как подобрать ГУ для ОДУ так, чтобы решение было.
Сообщение26.02.2012, 12:51 
Я написал программу на Octave, для решения ОДУ методом конечных разностей. Проблема с граничными условиями. Есть уравнение $\frac{d^{2}y}{dt^{2}}=t$. Если взять граничные условия в виде $y(0)=0$ и $y(1)=1$, то задача решается и моё решение совпадает с тем, что выдает функция dsolve(), если решать уравнение в MATLAB.

Но, если заменить граничные условия на условия по производным т.е. $y_{x}(0)=0$ и $y_{x}(1)=0$, то после приложения ГУ к системе, матрица получается вырожденной (а MATLAB выдает сообщение, что явное решение не может быть найдено). Если например, взять и прибавить к левой части ОДУ $y(x)$, то систему опять можно будет решить.
Используется синтаксис Matlab M
sln = dsolve('D2y=t','y(0)=0','y(1)=1'); % Решение есть и совпадает с решением МКР в Octave.
sln = dsolve('D2y=t','Dy(0)=0','Dy(1)=0'); % Нет решения в явной форме, а матрица МКР - вырожденная.
sln = dsolve('D2y+y=t','Dy(0)=0','Dy(1)=0'); %  Решение, выраж. в триг. функциях. Но это уже другое уравнение.
 

В общем одно уравнение, но при разных граничных условиях оно то решается то нет. По-моему, можно определить заранее, какие надо прикладывать ГУ, чтобы решалось, но я забыл как. Подскажите пожалуйста, как для данного уравнения, выбирать разные типы ГУ, чтобы оно гарантированно решалось?

 
 
 
 Re: Как подобрать ГУ для ОДУ так, чтобы решение было.
Сообщение26.02.2012, 13:00 
Аватара пользователя
Предлагаю для начала ликвидировать путаницу в обозначении аргумента: он у Вас то тэ, то икс. Кнопка Изображение активна в течение часа после публикации сообщения.

-- 26 фев 2012, 14:08 --

Я в диффурах не особо, но заметьте, что у Вас общее решение дифференциального уравнения таково, что всегда $y'(1)=y'(0)+\frac12$, и, стало быть, такие ГУ не могут назначаться от фонаря. Будь это моя задача, я бы почитал теорию про то, какие могут быть граничные условия у дифф. уравнений, или даже сам бы подумал. Или да, на форуме спросил бы, тоже способ. А решать-программировать задачу с $y'(1)=y'(0)$ точно не стал бы даже пытаться.

 
 
 
 Re: Как подобрать ГУ для ОДУ так, чтобы решение было.
Сообщение26.02.2012, 13:37 
DDS в сообщении #542736 писал(а):
Подскажите пожалуйста, как для данного уравнения, выбирать разные типы ГУ, чтобы оно гарантированно решалось?

Почитайте теорию насчёт задачи Штурма-Лиувилля. Краевая задача для неоднородного уравнения имеет единственное решение тогда и только тогда, когда ноль не является собственным числом соответствующей задачи Штурма-Лиувилля, т.е. соответствующей однородной задачи. В вашем случае задание граничных условий на саму функцию даёт серию собственных чисел $\lambda_k=-\pi^2k^2,\ k=1,2,3,\ldots$, и всё хорошо. А вот постановка условий на производную даёт ту же серию, но уже начиная с $k=0$, т.е. ноль оказывается собсвенным числом, потому ничего и не выходит. Добавление же $y$ смещает все собственные числа на единичку, и всё снова становится нормальным.

 
 
 
 Re: Как подобрать ГУ для ОДУ так, чтобы решение было.
Сообщение26.02.2012, 14:07 
Спасибо за подсказки. Думаю, теперь - разберусь. Кнопка правки, к сожалению, уже пропала, пока я экспериментировал: там и правда не $y_{x}$, а $y_{t}$.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group