Hey, how can I solve an ode function with a changing input of my choosing: example:
I would like to solve the simple spring and defuse equation while inputting the external force at given time.
I would create a function for the differential equations:
if truefunction dy = springdef(y,u)k=1.5; %just values
m=3;d=0.3;% main differential equations
dy(1,1) = y(2);dy(2,1) = -k/m*y(1)+u/m-d/m*y(2);end
than I would calculate the result by using the ode45
if true[t,y] = ode45(@(t,y)springdef(y,u),tspan,y0);end
yet I don't find a way to choose u in advance (creating a vector for u for different values).
I can define a single input – u=0
or i can have a controller adjust the input – u= K*(y-[0,0]) but I don't find a way to preset the force u
such as u=[0,0,1,1,0,0] (of curse length(u) = length(tspan) )
Best Answer