Calcul de l'abcisse curviligne


On sait que, pour une courbe régulière donnée par une représentation paramétrique t |-> x(t), l'abcisse curviligne se calcule via l'intégrale de la norme du vecteur tangent x'(t).
Mis à part les exemples triviaux, cette intégrale n'est pas facile à calculer.
Vous trouverez dans cette page deux manières de calculer l'abcisse curviligne avec Mathematica, que je vous donne ici sous la forme de capsules.
Vous pouvez les copier dans votre répertoire personnel pour utilisation ultérieure, dans deux fichiers appelés respectivement
abc.m et nabc.m, le "n" signifiant "numérique".
On utilisera d'abord la commande abc en espérant que Mathematica "saura" trouver l'intégrale. Sinon, il faudra passer à la commande numérique, dessiner le résultat et approcher le dessin par le graphe d'une fonction en utilisant la commande Fit après en avoir demandé la syntaxe par
?Fit
Voir les exemples ci-dessous pour l'utilisation de abc et nabc.

abc[t_,x_,t0_]:= Module[{u,norme,der,racine,res},
    norme[vecteur_]:= Sqrt[vecteur . vecteur]//PowerExpand //Simplify;
    der = x'[u] //Simplify;
    racine = norme[der] //PowerExpand //Simplify;
    res = Integrate[racine,{u,t0,t}] //Simplify
   ]

nabc[t_,x_,t0_]:= Module[{u,norme,der,racine,res},
    norme[vecteur_]:= Sqrt[vecteur . vecteur];
    der = x'[u];
    racine = norme[der] ;
    res = NIntegrate[racine,{u,t0,t}]
  ]

Exemples :

x[t_]:={Cos[t],Sin[t]}
res1 = abc[t,x,0]

y[t_]:={2Cos[t],Sin[t]}
res2 = abc[t,y,0]

z[t_]:= {t,t^2,t^3}
res3 = abc[t,z,0]

Conseil pratique :
La commande ci-dessous sert uniquement à consulter la liste des symboles déjà utilisés dans la session courante de Mathematica et évite des collisions ou des effaçage de symboles :
?@
Ceci montre que je peux utiliser le symbole w qui n'a pas encore été utilisé

w[t_]:= {t,Sin[t]}
dessin1 = ParametricPlot[w[t]//Evaluate,{t,0,2Pi}]
abc[t,w,0]
?@
Dans les dessins qui suivent, vous pouvez ignorer les messages d'avertissement de Mathematica.
dessin2 = Plot[nabc[t,x,0]//Evaluate,{t,0,2Pi}]
dessin3 = Plot[nabc[t,y,0]//Evaluate,{t,0,2Pi}]
dessin4 = Plot[nabc[t,z,0]//Evaluate,{t,0,2}]
dessin5= Plot[nabc[t,w,0]//Evaluate,{t,0,2Pi}]

Retour à ma page personnelle



©jmt : création le 001002 - dernière modification le 010924