Как извлечь переменную из функции ODE, вычисляющей BVP? - PullRequest
0 голосов
/ 29 марта 2019

Я решаю BVP, используя bvp4c в Matlab.Мне нужно сохранить дополнительные переменные данные в функции ODE.

Я уже использовал этот метод:

https://www.mathworks.com/matlabcentral/answers/312549-get-variable-out-of-ode-45

Но он не сохраняется в Workspace после моего решения BVPготово.

function dydt = myODE(t,y,p)

u = pi^2/tf^2*(p(1)+p(2))*sin(pi*t/tf);

for i = 2:5
   u = u - (i*pi/tf)^2*p(i-1)*sin(i*pi*t/tf);
end

persistent u_save
switch t
    case 'init'
        u_save = u;
    case ''
        u_save = [u_save; u];
    case 'done'
        assignin('base','u_save',u_save);

end

dydt = [y(3) y(4) u 0];

... Equations for my model ...


end

Я бы хотел сохранить свои входные данные, которые представлены в переменной u.Мне нужны эти входные данные, представленные в моих результатах.

...