Я пытаюсь использовать ode45
для решения системы ОДУ:
[X,Y]= ode45(@sys,[0, T],y0);
куда,
function dy = sys(t,y)
dy(1) = f_1(y)
dy(2) = f_2(y)
dy(3) = f_3(y)
end
Проблема в том, что функция ode45
требует, чтобы y0
были начальными значениями [y_1(0), y_2(0), y_3(0)]
, тогда как в моей системе доступны только значения [y_2(0), y_3(0), y_3(T)]
.
Математически этого набора начальных/конечных условий должно быть достаточно, чтобы зафиксировать систему, но есть ли способ, которым я могу работать с этим с помощью ode45
или любых других функций в MATLAB?
Спасибо!
ode45
можно интегрировать в обратном направлении (просто используйтеtspan = [tend tstart]
), поэтому вы можете придумать итеративную схему для полученияy_1
, чтобыy_3(0)
иy_3(T)
были удовлетворены. Излишне говорить, что это, вероятно, будет очень медленным и довольно неуклюжим, но это будет решение. Я буду следить за этим :) Не могли бы вы опубликовать уравнения и начальные/конечные условия? - person Rody Oldenhuis   schedule 14.06.2013