MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

More about Problems with Module

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112076] More about Problems with Module
  • From: Docente Sergio Miguel Terrazas Porras <sterraza at uacj.mx>
  • Date: Sun, 29 Aug 2010 02:49:58 -0400 (EDT)

Hi again Sjoerd,

The point of the program is this.
 It is easily proven mathematically that the derivative of a vector of constant magnitude is a vector perpendicular to the first one (this is what I am trying to ilustrate).

 By replacing du[t_] = acel'[t] // Normalize, for du[t_] = unitario'[t]// Normalize, the resulting vector is not perpendicular to acel[t], because acel'[t] is not of constant length.

So the problem seems to come at taking de derivative of acel[t]/Norm[acel[t]].
By the way, I was not aware of the Normalize command.

Thanks any way, my code does work as expected, as long as I leave empty the list of local variables in Module.

Thanks

Sergio

________________________________________
De: Sjoerd C. de Vries [sjoerd.c.devries at gmail.com]
Enviado el: s=E1bado, 28 de agosto de 2010 04:28 p.m.
Para: Docente Sergio Miguel Terrazas Porras
Asunto: Re: Problems with Module

This slight modification of your code seems to work (even though it
shouldn't according to John).

f[t_] := 4 Sin[t]; g[t_] := 2 Cos[t]; a = 0; b = 2 \[Pi];

DerVectConst[f_, g_, a_, b_] :=
 Module[{r, vel, acel, unitario, derivadadeu, du},
  r[t_] = {f[t], g[t]};
  vel[t_] = r'[t];
  acel[t_] = r''[t];
  unitario[t_] = acel[t] // Normalize;
  du[t_] = acel'[t] // Normalize;
  Manipulate[f1 = Graphics[{Thick, Blue, Arrow[{r[t], r[t] +
du[t]}]}];
   f2 = Graphics[{Thick, Green, Arrow[{r[t], r[t] + unitario[t]}]}];
   g1 = ParametricPlot[r[t], {t, a, b}, AspectRatio -> Automatic,
     PlotStyle -> {Thick, Red}];
   txt = Graphics[{Text[
       Style["\!\(\*OverscriptBox[\"u\", \"^\"]\)", 18,
        Bold], (r[t] + 1.1 unitario[t])],
      Text[Style[
        "\!\(\*SuperscriptBox[OverscriptBox[\"u\", \"^\"], \"\[Prime]\
\"]\)", 18, Bold], (r[t] + 1.1 du[t])]}];
   punto = Graphics[{PointSize[.02], Point[r[t]]}];
   Show[g1, f1, f2, txt, punto, PlotRange -> All], {t, a, b}]]

DerVectConst[f, g, a, b]

Cheers -- Sjoerd




  • Prev by Date: Re: List of multiple elements
  • Next by Date: Re: palette shows as unsaved if I move it
  • Previous by thread: Version-independent palette with no warnings?
  • Next by thread: Can I programming little applications by Mathematica, just like Java