Код: Выделить всё
> eq := diff(y(x), `$`(x, 2))-2*(diff(y(x), `$`(x, 1)))+3*y(x) = exp(5*x)*cos(x);
> cond := y(0) = 0, (D(y))(0) = 2;
> de := dsolve({eq, cond}, y(x), numeric);
> with(plots);
> odeplot(de, [x, y(x)], -5 .. 5, thickness = 2, colour = blue);
Делаю как написано выше и график получается косячным. Как будто от минус бесконечности до 4 идет прямая линия, а потом экспонента. Но если взять, например, промежуток от 0 до 2, то получается экспонента переходящая в параболу. График по идее синусоида, но непонятно как это отобразить. Помнится пару лет назад подобная проблема решалась введением ограничения на y, но при попытке ввода строки:
Код: Выделить всё
>odeplot(de, [x, y(x)], -5 .. 5, y = -5 .. 5, thickness = 2, colour = blue)
или
Код: Выделить всё
odeplot(de, [x, y(x)],x = -5 .. 5, y = -5 .. 5, thickness = 2, colour = blue)
выдается ошибка "Error, (in plot/options2d) unexpected option: y = -5 .. 5".
Вопрос: как ограничить ординату, или же есть алтернативные вариант?
Делал все, как указано здесь.