Я застрял в этой проблеме в течение нескольких недель. Как найти область устойчивости (или притяжения) нелинейного дифференциального уравнения с помощью Matlab.
Скажем, у меня есть это уравнение:
x' = y;
y' = -10*sin(x) - y + 9;
Точка равновесия для этого уравнения: [x, y] = [1,1198, 0]. Я хотел провести границу устойчивости этого нелинейного дифференциального уравнения. Под этим я подразумеваю, что хочу найти область, в которой любая начальная точка будет сходиться к точке равновесия, а любая точка вне этой области будет расходиться. См. прикрепленное изображение по адресу http://www.mathworks.com/matlabcentral/answers/146562-finding-the-stability-boundary-or-attraction-region-of-a-nonlinear-Differential-Equation
Прямо сейчас я запускаю следующий код Matlab:
f = @(t , x)[x(2) ; -10 * sin(x(1)) - x(2) + 9];
[T , X] = ode45(f , Tint , X0);
Для некоторого оттенка я рисую результат в виде фазового портрета (т. е. x против y) и меняю начальное условие (X0), пока оно не сработает (т. е. методом проб и ошибок).
Мне нужно найти область устойчивости для многих различных вариантов этого дифференциального уравнения. Мой вопрос: как мне найти этот регион автоматически?
Спасибо за помощь