ode45 varargin - additional arguments after options
显示 更早的评论
Hi.
I'm looking at some code which calls ode45 using the following code:
[t_intermediate,x_intermediate] = ode45(system,[t0, t0+T], x0, options, u);
wheer the function system is defined as
function y = system(t, x, u, T)
y = x+u;
end
I am confused about the additional last argument 'u' of the call to ode45, and how this feeds into the solver. The documentation doesnt list any arguments after options, but opening the code I can see it accepts additional arguments through varargin, but I cant find any information about how 'u' would fit into this. Within the ode45 code, It looks like the varargin are processed in the function "odearguments", but there is no documentation on this function either.
In this example, 'u' is a control input into the system.
Thanks for the help in advance!
4 个评论
Torsten
2019-6-28
[t_intermediate,x_intermediate] = ode45(@(t,x)system(t,x,u,T),[t0, t0+T], x0, options);
Nshine
2019-6-28
Walter Roberson
2019-6-28
That code would have failed.
ode45(system,....)
would have called system with no arguments and expected it to return a function handle. The call would fail due to not enough inputs.
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!