ode45 with an input
9 views (last 30 days)
Show older comments
I'd like to integrate a function with a variable that is taken from the user. For example, to integrate the function below:
function dydt = test(t,y)
dydt = -t*y/sqrt(2-y^2);
,I would call it with something like [t,y] = ode45('test',[0:0.1:5],1), but if I want to integrate dydt = -ty/sqrt(2-y^2)*b, where b is taken from the user, how would I do that?
Here's what I've tried:
function dydt = test(t,y,b)
dydt = -ty/sqrt(2-y^2)*b;
,and calling it with [t,y] = ode45('test',[0:0.1:5],1,3), where b = 3 in the call, but it's giving me an error. Is there a way to integrate a function with a variable that is taken from the user?
0 Comments
Answers (2)
Azzi Abdelmalek
on 6 May 2013
tspan=[0:0.1:5]
[T,Y] = ode45(@(t,y),test(t,y,b),tspan,y0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!