Torque input into ode45

I want to solve the set of differential equations with external torques as additional parameters
function dx = myfun(t, x, tor1, tor2)
x[1] = ...;
x[2] = ...;
end
I understand that this can be done using anonymous functions with trailing parameters
[T, Y] = ode45(@(t,x) myfun(t, x, tor1, tor2), ts, x0);
Everything works fine when the torques, tor1 and tor2, are constants. However, I need my input torques to be a function of the system parameters x[1],x[2] etc. If I try to define my torques as a function I get the error "Inputs must be floats, namely single or double".
Also, since my torques are controlled by PID controllers, I also need the torques to be a function of the integrals of certain system parameters.
How can I go about doing this?

1 个评论

Use round brackets:
x(1) = ...;
x(2) = ...;
x = x'; % derivative vrctor should be vertical

请先登录,再进行评论。

回答(0 个)

类别

产品

版本

R2019b

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by