Mathematica Numerical solution in Mathematica

AI Thread Summary
The discussion revolves around a challenge faced when using Mathematica's NDSolve for a system of ordinary differential equations (ODEs) that includes a numerically defined function. The user defines a function F[x] using FindRoot, which works correctly for specific values but fails when used within NDSolve. The issue arises because NDSolve attempts to solve the equations symbolically, leading to incompatibility with the numerical nature of F[x]. The primary solution suggested is to ensure that the function is defined in a way that NDSolve can interpret it numerically, rather than symbolically. Further resources are recommended for alternative approaches to address this issue effectively.
FanOfGR
Messages
2
Reaction score
0
Hello,

I have a problem with numerical solution of the system of ODE's (geodesic eqs.) in Mathematica. The only relevant command I have found is NDSolve. It works perfectly, unless my equations contain functions which are again computed using numerical methods.

Simple example illustrating the problem.
Let's define function

F[x_] := Module[{}, FindRoot[ x y == 1, {y, 1/x} ][[1,2]] ];

I don't want to write F[x_] = 1/x, because I want Mathematica to compute it numerically. This function gives, of course, correct values, e.g. F[2]=0.5.

Now I want to solve equation y' = F with initial condition y(1)=0 using

sol = NDSolve[ {y'[x]== F[x], y[1]==0}, y, {x, 1, 3} ];

If I define F[x_] = 1/x, it works. If I define it by FindRoot, it doesn't. It seems to me that NDSolve tries to work with F[x] in symbolic form, but then FindRoot says, that 1/x is not a number.

I hope that I described the problem clearly. Please, if anybody knows the solution, tell me, I am getting crazy :)

Thank you
 
Physics news on Phys.org
The main problem is that, Mathematica tries to solve your problem analytically first. So it plugs in symbolic x, and your function can't handle it.

Please refer to this question in http://www.voofie.com/concept/Mathematica/" :

http://www.voofie.com/content/163/ndsolve-in-mathematica-with-numerical-function/"

For ways to solve your problem.
 
Last edited by a moderator:

Similar threads

Replies
5
Views
3K
Replies
13
Views
2K
Replies
1
Views
2K
Replies
4
Views
3K
Replies
0
Views
497
Replies
1
Views
2K
Back
Top