How to solve differential equation with variable input parameters

5 views (last 30 days)
How to solve differential equation: zdot = (w*v*z)+1. where w=constant, v= velocity array of size 10, z is the initial condition=0. The solution for the first step is the z value for the next step.

Accepted Answer

Torsten
Torsten on 29 Jun 2017
z0=0
z1=z0+dt*(w*v1*z1+1) -> z1=(z0+dt)/(1-dt*w*v1)
z2=z1+dt*(w*v2*z2+1) -> z2=(z1+dt)/(1-dt*w*v2)
...
In general:
Use the recursion
z(i+1)=(z(i)+dt)/(1-dt*w*v(i+1)) (i=1,...,9)
with
z(1)=0
Best wishes
Torsten.
  3 Comments
Torsten
Torsten on 29 Jun 2017
Edited: Torsten on 29 Jun 2017
Then, with your time-dependent vector v, you can adapt the example "ODE with Time-Dependent Terms" provided under
https://de.mathworks.com/help/matlab/ref/ode45.html
Best wishes
Torsten.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!