如何从ODE函数计算BVP中提取变量?

时间:2019-03-29 17:30:18

标签: matlab ode

我正在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表示的输入数据。我需要在结果中表示此输入数据。

0 个答案:

没有答案