~ubuntu-branches/debian/squeeze/maxima/squeeze

« back to all changes in this revision

Viewing changes to share/contrib/rand/vandpol.mac

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2006-10-18 14:52:42 UTC
  • mto: (1.1.5 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20061018145242-vzyrm5hmxr8kiosf
ImportĀ upstreamĀ versionĀ 5.10.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
 
30
30
vanderpol(n):=(setup1(n),setup2(n),
31
31
          for i thru n do
32
 
              block(step1(i),step2(i),IF i > 1 THEN output1(i),
33
 
                    IF i = n THEN go(end),step3(i),step4(i),step5(i),end),
 
32
              block(step1(i),step2(i),if i > 1 then output1(i),
 
33
                    if i = n then go(end),step3(i),step4(i),step5(i),end),
34
34
          output2(n))$
35
35
setup1(n):=(w:1,for i thru n do w:w+k[i]*e^i,x:2*cos(t),
36
36
       for i thru n do x:x+y[i](t)*e^i)$
40
40
      :expand(trigreduce(expand(ev(eq[i],makelist([e[j],f[j]],j,1,i-1),
41
41
                                   diff))))$
42
42
step2(i):=(
43
 
      IF i = 1 THEN f[i]:solve(coeff(temp1,cos(t)),k[i])
44
 
          ELSE f[i]:solve([coeff(temp1,cos(t)),coeff(temp1,sin(t))],
 
43
      if i = 1 then f[i]:solve(coeff(temp1,cos(t)),k[i])
 
44
          else f[i]:solve([coeff(temp1,cos(t)),coeff(temp1,sin(t))],
45
45
                          [k[i],b[i-1]]),temp1:ev(temp1,f[i]))$
46
46
step3(i):=(temp1:ode2(temp1,y[i](t),t),
47
47
  temp1:subst(a[i],%k1,temp1),temp1:subst(b[i],%k2,temp1))$