Mathematica Solve ODEs w/ Mathematica & Compute Derivative of Niles

  • Thread starter Thread starter Niles
  • Start date Start date
  • Tags Tags
    Mathematica
AI Thread Summary
The discussion revolves around solving a system of ordinary differential equations (ODEs) defined by dx/dt = v and dv/dt = a = C*f(x), where C is a constant and f(x) is a function of x. The user seeks to express the derivative of the solution x[t] as a function of x, specifically in the expression B(x) = A + v(x), where A is a constant. The solution involves inverting the relationship to find t as a function of x, allowing for the substitution of v[t[x]] to obtain v as a function of x. For numerical solutions, using FindRoot is suggested as a practical method for inversion.
Niles
Messages
1,834
Reaction score
0
Hi

I have a system of ODEs of the form

dx/dt = v
dv/dt = a = C*f(x),

where C denotes a constant and f(x) is some function of x. This system is easy to solve using (e.g.)
Code:
NDSolve[x''[t] == C*f(x), x[0] == 0, x'[0] == 0}, x, {t, 0, tMax}];
I need to use the derivative of the solution x[t], x'[t], in the following expression: B(x) = A + v(x), where A denotes a constant. But please note that the derivative is needed as a function of x, not t. I've been trying to figure out a smart way to do this, but I can't wrap my head around this. What should I do to achieve this?Niles.
 
Last edited:
Physics news on Phys.org
Since you have x[t], you need to invert this to find t[x], then, since you know v[t], your v[x] is given by v[t[x]]. If you have an analytic solution, you can do this analytically, but if you have a numerical solution, the easiest way to invert it is probably with FindRoot. See the attached notebook.
 

Attachments

Thanks, that is very kind of you.Niles.
 

Similar threads

Replies
1
Views
2K
Replies
1
Views
2K
Replies
4
Views
3K
Replies
1
Views
3K
Replies
1
Views
1K
Replies
19
Views
2K
Replies
0
Views
498
Back
Top