diff options
author | Karl Berry <karl@freefriends.org> | 2013-04-07 18:26:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-04-07 18:26:53 +0000 |
commit | b04c2e1a42573e9735547702356c7b9a769a6855 (patch) | |
tree | c0753443f39500a062d7698fe6b94359c813f871 /Master/texmf-dist/doc/asymptote/examples/odetest.asy | |
parent | fb0bf13304a356f197bfc1add17f98c07e96f17b (diff) |
texmf -> texmf-dist: doc
git-svn-id: svn://tug.org/texlive/trunk@29714 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/asymptote/examples/odetest.asy')
-rw-r--r-- | Master/texmf-dist/doc/asymptote/examples/odetest.asy | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/asymptote/examples/odetest.asy b/Master/texmf-dist/doc/asymptote/examples/odetest.asy new file mode 100644 index 00000000000..69f8ea3fd07 --- /dev/null +++ b/Master/texmf-dist/doc/asymptote/examples/odetest.asy @@ -0,0 +1,43 @@ +import ode; + +write("integration test"); +real f(real t, real x) {return cos(x);} +write(integrate(1,f,0,10,0.1,dynamic=true,0.0002,0.0004,RK3BS,verbose=true)); +write(); + +write("system integration test"); +real[] f(real t, real[] x) {return new real[] {x[1],1.5*x[0]^2};} +write(integrate(new real[] {4,-8},f,0,1,n=100,dynamic=true,tolmin=0.0002, + tolmax=0.0004,RK3BS,verbose=false)); +write(); + +write("simultaneous newton test"); +real[] function(real[] x) { + return new real[] {x[0]^2+x[1]^2-25,(x[0]-6)^2+x[1]^2-25}; +} +real[][] fJac(real[] x) { + return new real[][] {{2*x[0],2*x[1]},{2*(x[0]-6),2*x[1]}}; +} +write(newton(function,fJac,new real[] {0,-1})); +write(); + + +write("BVP solver test"); +write("Finding initial conditions that solve w''(t)=1.5*w(t), w(0)=4, w(1)=1"); +real[] initial(real[] x) { + return new real[] {4,x[0]}; +} + +real[] discrepancy(real[] x) { + real error=x[0]-1; + write("Error: ",error); + return new real[] {error}; +} + +real[] w0=solveBVP(f,0,1,n=10,dynamic=true,tolmin=0.0002,tolmax=0.0004,RK3BS, + initial,discrepancy,guess=new real[] {-30},iterations=10); +write(w0); +write(); +write(integrate(w0,f,0,1,n=10,dynamic=true,tolmin=0.0002,tolmax=0.0004,RK3BS, + verbose=false)); +write(); |