MATLAB Answers

Symbolic Vector ODE numerical solution

1 view (last 30 days)
Leonardo Dipilato
Leonardo Dipilato on 14 Jun 2020
Commented: Walter Roberson on 15 Jun 2020
I'm trying to solve an ODE using vectorized symbolic calculus.
N = 4;
syms theta(t) [1 N]
Q = tril(ones(N));
theta = theta*Q';
eq = diff(theta, t, t) - cos(theta);
Dt = diff(theta, t);
How can I use this with ode45 or other solvers?

  1 Comment

Walter Roberson
Walter Roberson on 15 Jun 2020
To use that with ode45 or similar, I recommend reading the first example for odeFunction() as it shows the steps to use to prepare symbolic differential equations for use with ode45 or similar.

Sign in to comment.

Answers (1)

Paresh yeole
Paresh yeole on 14 Jun 2020
in your equation for 'eq', if you are looking for double differentiation then it should be
eq = diff(theta, t, 2) - cos(theta);

  1 Comment

Walter Roberson
Walter Roberson on 14 Jun 2020
diff(theta, t, 2) and diff(theta, t, t) are treated the same, both become diff(theta, t, t) on output.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by