我正在Matlab中使用bvp4c解决BVP。我需要在ODE函数中保存额外的变量数据。
我已经使用了这种方法:
https://www.mathworks.com/matlabcentral/answers/312549-get-variable-out-of-ode-45
但是在完成BVP解决方案后,它不会保存到Workspace。
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
表示的输入数据。我需要在结果中表示此输入数据。