StoppingTest options in Mathematica

Tout ce qui concerne les logiciels mathématiques (Matlab, Maxima, Scilab, R, ...) ou les calculatrices scientifiques.
[forum modéré par les modérateurs globaux du site]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Moloch

StoppingTest options in Mathematica

Message par Moloch »

I'm using the NDSolve command to find a closed curve (it's a magnetic field line). It works, but I need to end the calculation at a specific point in space, so I don't get a curve with many turns. I want a single turn to draw a complete loop. How can I use the StoppingTest options to tell Mathematica to find a single turn loop ? The specific code is like this :

Code : Tout sélectionner

NDSolve[
{
x'[t] == Bx[x[t], y[t], z[t]],
y'[t] == By[x[t], y[t], z[t]],
z'[t] == Bz[x[t], y[t], z[t]],
x[0] == 0,
y[0] == 1,
z[0] == 0,
}, {x, y, z}, {t, 0, 100}, StoppingTest -> ( ? ? ? )]
Suppose I want the curve to stop at coordinates {x, y, z} = {1, 2, 3}, or better, I want it to be a complete loop with a single turn (stop when it's back at the initial coordinates). How can I tell that to Mathematica ?
DUET
Utilisateur confirmé
Utilisateur confirmé
Messages : 64
Inscription : mercredi 01 juin 2005, 08:14

Message par DUET »

avec Mathematica 5.1 je ne vois pas d'options StoppingTest mais si je comprends bien tu cherches le graphe d'une période d'une fonction périodique : peut-être peux-tu transformer ton problème par séries de Fourier ?
Moloch

Message par Moloch »

Non, ce n'est pas l'approche naturelle dans ce cas. J'ai un champ vectoriel (les fonctions Bx, By, Bz), et à partir de conditions initiales, je trace les lignes de champs. Ces lignes se referment (boucles). Je doit trouver la periode de ces boucles (différente d'une boucle à l'autre), ou sinon je doit dire à Mathematica d'arrêter le tracage lorsque la boucle est complete.