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

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Поскольку уравнение Риккати является обыкновенным дифференциальным уравнением первого порядка, вы можете легко сделать это с помощью любого из решателей ОДУ, доступных в MATLAB, таких как «ode45».

Хитрость заключается в том, чтобы найти решение в обратном направлении во времени.

В качестве примера рассмотрим следующий пример. Пусть уравнение Риккати имеет вид

y'(t) = q0 + q1*y(t) + q2*y(t)^2,  
y(tf) = yf

где q0, q2 — отличные от нуля константы (это могут быть нетривиальные функции от t, то, что они выбраны постоянными, сделано просто для простоты). Вторая строка — это граничное условие, согласно которому в момент времени tf значение решения должно быть равно yf. Я выбрал, в частности, tf = 2 и yf = 1 в приведенном ниже примере кода.

function riccatiEquationRunner()
par = [1;2;1];  % q0, q1, and q2
yf = 1;
ti = 0; tf = 2;
opt = odeset('AbsTol',1.0e-07,'RelTol',1.0e-07);
[t,y] = ode45( @riccatiEquation, [tf,ti], yf ,opt, par);
% Visualize
plot(t,y)

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ