5
$\begingroup$

Here are the differential equations that set's up the 11 coupled oscillators.

new = Join[
Table[x[i]''[t] == - x[i][t] + 
 0.1*(x[i + 1][t] - 2*x[i][t] + x[i - 1][t]), {i, 1, 
9}], {x[0]''[t] == -x[0][t], x[10]''[t] == x[9][t], x[0][0] == 1, 
x[0]'[0] == 1, x[1]'[0] == 0, x[1][0] == 0}, 
Table[x[i][0] == 0, {i, 2, 10}], Table[x[i]'[0] == 0, {i, 2, 10}]]

Here are the solutions.

Solt = NDSolve[new, Table[x[i], {i, 0, 10}], {t, 25}]

Here are the individual plots.

Table[Plot[Evaluate[x[i][t] /. Solt], {t, 0, 25}, 
PlotRange -> All], {i, 0, 10}]

I am trying to figure out how to make a graph so along the x-axis are my i's from 0 to 10, and I can watch the wave move along each oscillator as time moves on. I keep getting errors in which it floods my notebook and doesn't stop unless I close the kernel.

This is what I have so far, and I'm not sure how to incorporate time into this.

Plot[Evaluate[x[i][t] /. Solt], {i, 0, 10}]

EDIT Coupled in a circle

Stew = Join[
 Table[x[i]''[t] == - x[i][t] + 
  0.1*(x[i + 1][t] - 2*x[i][t] + x[i - 1][t]), {i, 1, 
 9}], {x[10]''[t] == - x[10][t] + 
  0.1*(x[0][t] - 2*x[10][t] + x[9][t]), 
x[0]''[t] == - x[0][t] + 
  0.1*(x[1][t] - 2*x[0][t] + x[10][t])}, {x[0][0] == 0, 
x[0]'[0] == 0, x[1][0] == 1, x[1]'[0] == 0.5}, 
Table[x[i][0] == 0, {i, 2, 10}], Table[x[i]'[0] == 0, {i, 2, 10}]];

The Dsolve

Loin = NDSolve[Stew, Table[x[i], {i, 0, 10}], {t, 6.28}]

The individual graphs

Table[Plot[Evaluate[x[i][t] /. Loin], {t, 0, 6.28}, 
PlotRange -> All], {i, 0, 10}]

How would I go about putting the i=0 to 10 around in a circle?

$\endgroup$
8
$\begingroup$

After edit

I think oscillation directions should be parallel.

g[t_] = Table[{Cos[i*2 Pi/11], Sin[i*2 Pi/11], x[i][t]} /. Loin[[1]], {i, 0, 10}]; 

Animate[
 Show[
  ListPointPlot3D[g[t], PlotRange -> 1.5, BoxRatios -> 1, Filling -> Axis,
            PlotStyle -> Directive@AbsolutePointSize@7, Boxed -> False],
  ParametricPlot3D[{Cos@t, Sin@t, 0}, {t, 0, 2 Pi}, PlotStyle -> {Dashed, Black}]
  ,
  ImageSize -> 500, ViewVector -> {{Cos[t/15], Sin[t/15], 1} 11, {0, 0, 0}}, 
  AxesOrigin -> {0, 0, 0}, Ticks -> None, Axes -> True, AxesStyle -> {Red, Green, Blue},
  SphericalRegion -> True],
  {t, 0, 50}]

enter image description here

Before edit

f[t_] = Table[{i, x[i][t]} /. Solt[[1]], {i, 0, 10}];

Animate[ 
 ListPlot[f[t], PlotRange -> {{0, 11}, {-1.5, 1.5}}, 
  Joined -> True, PlotMarkers -> Automatic]
 , {t, 0, 25}
 ]

Good to notice: In f[t] definition := is intentionally replaced by =.

enter image description here

$\endgroup$
  • $\begingroup$ wow that's fantastic!!!! $\endgroup$ – Slightly Jun 13 '13 at 21:21
  • $\begingroup$ I may be making another question where I couple the last point to the first point. I would then want to make the same type if thing, but take the i's and put them around in a circle. so that the 10 is equal to the 0. I already have all the individual plots of this, I would just need some guidance to how to put them in a circle instead of a line. $\endgroup$ – Slightly Jun 13 '13 at 21:22
  • $\begingroup$ @James Edit this question. Put new code and questions here. I think there is no need to make another. May be You could also analyze this solution and answer Your own question. Tip: Table[{Cos[i*2Pi/11],Sin[i*2Pi/11],x[i][t]},{i,0,10}] $\endgroup$ – Kuba Jun 13 '13 at 21:30
  • $\begingroup$ Hmm. let me see if I can come up with something $\endgroup$ – Slightly Jun 13 '13 at 21:38
  • $\begingroup$ Would I have to use a parametric plot? $\endgroup$ – Slightly Jun 13 '13 at 21:45
5
$\begingroup$

Solution by @Kuba can be easily extended to put the oscillators on a circle.

Loin = NDSolve[Stew, Table[x[i], {i, 0, 10}], {t, 50}];

fr[t_] = Transpose@{Most@Range[0, 2 Pi, 2 Pi/11], x[#][t]&/@Range[0, 10]} /. First@Loin;

r0 = 3;
Animate[
   ListPlot[
      Function[{th, r}, {(r0 + r) Cos[th], (r0 + r) Sin[th]}] @@@ fr[t], 
      PlotRange -> {{-5, 5}, {-5, 5}}, AspectRatio -> 1, 
      Prolog -> {Gray, Circle[{0, 0}, 3]}, Axes -> False, 
      PlotMarkers -> Automatic], 
  {t, 0, 50}]

enter image description here

$\endgroup$
  • $\begingroup$ That isn't working for me. And I wanted the 2nd edited part of the equation to be in a circle because they are all connected. $\endgroup$ – Slightly Jun 13 '13 at 22:20
  • $\begingroup$ So replace the Solt with Loin. $\endgroup$ – mmal Jun 13 '13 at 22:24
  • $\begingroup$ I got it. Thank you so much. $\endgroup$ – Slightly Jun 13 '13 at 22:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.