Странное ДУ

Форум пользователей пакета Maple

Модератор: Admin

renuar911
Сообщения: 208
Зарегистрирован: Сб дек 20, 2008 11:26 pm

Странное ДУ

Сообщение renuar911 » Пн ноя 28, 2011 12:39 am

Не могу получить вразумительного ответа для

y''+ay'+ b sin(y)=0

Где a и b - конкретные числа.

Как найти ответ в любом виде?

hirnyk
Сообщения: 438
Зарегистрирован: Пт апр 08, 2005 1:41 pm

Сообщение hirnyk » Пн ноя 28, 2011 7:52 am

Код: Выделить всё

> sol := dsolve({diff(y(x), `$`(x, 2))+a*(diff(y(x), x))+b*sin(y(x)) = 0, y(0) = c, (D(y))(0) = d}, numeric, parameters = [a, b, c, d]);

proc(x_rkf45)  ...  end;
> sol(parameters = [1, 2, 0, 1]);

                      [a = 1., b = 2., c = 0., d = 1.]
> sol(1);

  [                                      d                               ]
  [x = 1., y(x) = 0.447899094628003258, --- y(x) = -0.0629719014429073466]
  [                                      dx                              ]


 

Kitonum
Сообщения: 2076
Зарегистрирован: Ср дек 31, 2008 1:55 pm
Откуда: г. Пенза

Сообщение Kitonum » Пн ноя 28, 2011 12:54 pm

Не понял, в чём заключается "странность" этого дифура? Подобные уравнения, кажется, возникают при описании затухающих колебаний маятника. Они, как правило, решаются только численно.
Так, например, можно вывести график (продолжение кода г-на hirnyk):

plots[odeplot](sol,0..10,numpoints=1000,thickness=2);

Изображение

renuar911
Сообщения: 208
Зарегистрирован: Сб дек 20, 2008 11:26 pm

Сообщение renuar911 » Пн ноя 28, 2011 2:07 pm

Спасибо. Я надеялся, что есть решение, хотя бы через спецфункции...

hirnyk
Сообщения: 438
Зарегистрирован: Пт апр 08, 2005 1:41 pm

Сообщение hirnyk » Пн ноя 28, 2011 2:40 pm

renuar911 писал(а):Спасибо. Я надеялся, что есть решение, хотя бы через спецфункции...

Есть. но радости от него мало. См. результат команды:

Код: Выделить всё

> sol := dsolve({diff(y(x), `$`(x, 2))+a*(diff(y(x), x))+b*sin(y(x)) = 0}, y(x));