summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-ode
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-09-14 22:15:11 +0000
committerKarl Berry <karl@freefriends.org>2012-09-14 22:15:11 +0000
commit655440ffbc259c110c3f77959344260e641a5fb0 (patch)
treecadbec13ee02de5cfbbf1a31e7835b21f9f7552f /Master/texmf-dist/doc/generic/pst-ode
parenta4799313350c8a85179bc99161cc49c0af3e1558 (diff)
pst-ode (14sep12)
git-svn-id: svn://tug.org/texlive/trunk@27669 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-ode')
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/ChangeLog4
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/lorenz.tex46
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/ode.tex18
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/particle.tex55
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdfbin121611 -> 123984 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex11
6 files changed, 11 insertions, 123 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-ode/ChangeLog b/Master/texmf-dist/doc/generic/pst-ode/ChangeLog
index a56317fdb42..41562516d90 100644
--- a/Master/texmf-dist/doc/generic/pst-ode/ChangeLog
+++ b/Master/texmf-dist/doc/generic/pst-ode/ChangeLog
@@ -1,2 +1,6 @@
+2012-09-14
+ * version 0.2
+ * new: command option `algebraicOutputFormat' added
+
2012-08-16
* initial release (v0.1) to CTAN
diff --git a/Master/texmf-dist/doc/generic/pst-ode/lorenz.tex b/Master/texmf-dist/doc/generic/pst-ode/lorenz.tex
deleted file mode 100644
index 3150ec923bb..00000000000
--- a/Master/texmf-dist/doc/generic/pst-ode/lorenz.tex
+++ /dev/null
@@ -1,46 +0,0 @@
-\documentclass{article}
-\usepackage{pst-ode,pst-3dplot}
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}%
-
-\begin{document}
-\begin{center}
-\pstVerb{
- /alpha 10 def
- /beta 28 def
- /gamma 8 3 div def
-}%
-\pstODEsolve[algebraic]{lorenzXYZ}{0 1 2}{0}{25}{2501}{10 10 30}{
- alpha*(x[1]-x[0]) |
- x[0]*(beta-x[2]) - x[1] |
- x[0]*x[1] - gamma*x[2]
-}
-\begin{pspicture}(-6,-2)(6,10)
-\psset{unit=0.17cm,Alpha=160,Beta=15}
-\listplotThreeD{lorenzXYZ}
-\psset{unit=0.425cm,linestyle=dashed}
-\pstThreeDNode(0,0,0){O}
-\pstThreeDNode(0,0,5){Z}
-\pstThreeDNode(5,0,0){X}
-\pstThreeDNode(0,5,0){Y}
-\pstThreeDNode(-10,-10,0){A}
-\pstThreeDNode(-10,-10,20){B}
-\pstThreeDNode(-10,10,20){C}
-\pstThreeDNode(-10,10,0){D}
-\pstThreeDNode(10,-10,0){E}
-\pstThreeDNode(10,-10,20){F}
-\pstThreeDNode(10,10,20){G}
-\pstThreeDNode(10,10,0){H}
-\pspolygon(A)(B)(C)(D)
-\pspolygon(E)(F)(G)(H)
-\psline(A)(E)
-\psline(B)(F)
-\psline(D)(H)
-\psline(C)(G)
-\psset{linestyle=solid,linecolor=red}
-\psline{->}(O)(X)
-\psline{->}(O)(Y)
-\psline{->}(O)(Z)
-\end{pspicture}
-\end{center}
-\end{document}
diff --git a/Master/texmf-dist/doc/generic/pst-ode/ode.tex b/Master/texmf-dist/doc/generic/pst-ode/ode.tex
deleted file mode 100644
index 59d529f3bce..00000000000
--- a/Master/texmf-dist/doc/generic/pst-ode/ode.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\documentclass{article}
-\usepackage{pst-ode,pst-plot}
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}%
-
-\begin{document}
-\begin{center}
-\psset{unit=3cm}
-\begin{pspicture}(-0.3,-0.4)(.2,1)
- \psset{xAxisLabelPos={c,-5ex},yAxisLabelPos={-3ex,c}}
- \begin{psgraph}[axesstyle=frame,Ox=-1,](0,0)(0,0)(4,1){10cm}{2.5cm}
- \rput(1,0){\psplot[algebraic]{-1}{3}{Euler^(-x^2)}}
- \pstODEsolve[algebraicIC,algebraic]{TY}{(t) 0}{-1}{3}{5}{1/Euler}{-2*t*y[0]}
- \rput(1,0){\listplot[plotstyle=dots,dotsize=0.05,linecolor=red]{TY}}
- \end{psgraph}
-\end{pspicture}
-\end{center}
-\end{document}
diff --git a/Master/texmf-dist/doc/generic/pst-ode/particle.tex b/Master/texmf-dist/doc/generic/pst-ode/particle.tex
deleted file mode 100644
index b1010b08c32..00000000000
--- a/Master/texmf-dist/doc/generic/pst-ode/particle.tex
+++ /dev/null
@@ -1,55 +0,0 @@
-\documentclass{article}
-\usepackage{pst-ode,pst-3dplot}
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}%
-
-\begin{document}
-\begin{center}
-\psset{unit=0.74cm,Alpha=40,Beta=20}
-\begin{pspicture}(-10,-2)(6,13)
-\newpsstyle{vecteurA}{arrowinset=0.1,arrowsize=0.15,linecolor={[rgb]{0 0.5 1}}}
-\pstVerb{
- /wc 5 def
- /tau 5 def
- /vx 20 def
- /vz 2 def
-}
-\pstODEsolve[algebraic]{particleXYZ}{0 1 2}{0}{25}{1000}{0 0 0 vx 0 vz}{
- y[3] | y[4] | y[5] | wc*y[4] - y[3]/tau | -wc*y[3] - y[4]/tau | -y[5]/tau
-}
-\listplotThreeD{particleXYZ}
-\pstThreeDNode(0,0,0){O}
-\pstThreeDNode(0,0,1){Z}
-\pstThreeDNode(1,0,0){X}
-\pstThreeDNode(0,1,0){Y}
-\pstThreeDNode(-5,-9,0){A}
-\pstThreeDNode(-5,-9,10){B}
-\pstThreeDNode(-5,2,10){C}
-\pstThreeDNode(-5,2,0){D}
-\pstThreeDNode(5,-9,0){E}
-\pstThreeDNode(5,-9,10){F}
-\pstThreeDNode(5,2,10){G}
-\pstThreeDNode(5,2,0){H}
-\pstThreeDNode(0,0,0){M0}
-\pstThreeDNode(vx 5 div,0,vz 5 div){V}
-\pstThreeDNode(vx 5 div,0,0){Vx}
-{\psset{linestyle=dashed}
-\pspolygon(A)(B)(C)(D)
-\pspolygon(E)(F)(G)(H)
-\psline(A)(E)
-\psline(B)(F)
-\psline(D)(H)
-\psline(C)(G)}%
-\psline[linecolor=red]{->}(M0)(V)
-\psline[linecolor=cyan]{->}(M0)(Vx)
-\uput{0.1}[l](V){\red$\overrightarrow{v}_0$}
-{\psset{linestyle=solid,linecolor=red}
-\psline[style=vecteurA]{->}(O)(X)
-\psline[style=vecteurA]{->}(O)(Y)
-\psline[style=vecteurA]{->}(O)(Z)}%
-\uput[u](Z){$z$}
-\uput[dl](X){$x$}
-\uput[r](Y){$y$}
-\end{pspicture}
-\end{center}
-\end{document}
diff --git a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf
index 6e51efc0675..54bf10563ae 100644
--- a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex
index 0139f79811f..28d7547257c 100644
--- a/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-ode/pst-ode-doc.tex
@@ -115,24 +115,27 @@ is the main user command for solving initial value problems.
The first mandatory argument \Larg{result} is a simple identifier composed of letters and possibly numbers. It is used to create a \PS{} object of the same name, which takes the computed state vectors $\mathbf{x}_i$, formatted according to the second argument \Larg{output format}, as a long list of values. \Larg{result} can be directly used as the \Larg{data} argument of \Lcs{listplot}\Largb{data} (package \LPack{pst-plot}) or \Lcs{listplotThreeD}\Largb{data} (package \LPack{pst-3dplot}). When put on the \PS{} operand stack, \Larg{result} is immediately executed, that is, the list of values contained in \Larg{result} is pushed onto the operand stack. The scope of \Larg{result} is global and thus its content survives page breaks.
-The second argument \Larg{output format} determines which of the components of the state vectors $\mathbf{x}_i$ and possibly the independent variable $t$ are stored into \Larg{result}. The keyword \Lkeyword{(t)} (parentheses required) inserts the integration parameter value $t_i$ into the result list; numbers (\Lkeyword{0}, \Lkeyword{1}, \Lkeyword{2}, \dots, $n-1$) in arbitrary order specify the components of vector $\mathbf{x}_i$ to be inserted, as well as their order of insertion. The elements of \Larg{output format} are to be separated by spaces.
+The second argument \Larg{output format} determines which of the components of the state vectors $\mathbf{x}_i$ and possibly the independent variable $t$ are stored into \Larg{result}. \Larg{output format} can be specified in two different formats, depending on the setting of the command option \Lkeyword{algebraicOutputFormat}.
+If \Lkeyword{algebraicOutputFormat} is set, calculations can be made on the components of the computed state vectors before writing them to \Larg{result}. Without option \Lkeyword{algebraicOutputFormat} the following applies: The keyword \Lkeyword{(t)} (parentheses required) inserts the integration parameter value $t_i$ into the result list; numbers (\Lkeyword{0}, \Lkeyword{1}, \Lkeyword{2}, \dots, $n-1$) in arbitrary order specify the components of vector $\mathbf{x}_i$ to be inserted, as well as their order of insertion. The elements of \Larg{output format} are to be separated by spaces. If option \Lkeyword{algebraicOutputFormat} is set, \Larg{output format} is a \Lkeyword{|}-separated list of algebraic expressions according to which the components of the output vector are to be calculated. In these algebraic expressions, the $n$ current state vector components can be referred to as \Lkeyword{x[0]}, \Lkeyword{x[1]}, \dots, \Lkeyword{x[}$n-1$\Lkeyword{]} or \Lkeyword{y[0]}, \Lkeyword{y[1]}, \dots, \Lkeyword{y[}$n-1$\Lkeyword{]}, and the current independent variable value as `\Lkeyword{t}'. In either case, there is no upper limit of the output vector length. It must have at least one element though.
Arguments $t_0$ and $t_\mathrm{e}$ define the interval of integration $I=[t_0, t_\mathrm{e}]$.
$N$ is the number of \emph{equally} spaced output points, including $t_0$ and $t_\mathrm{e}$; it must be $\ge 2$. In order to divide the interval of integration into $K$ output steps, $N$ must be set to $K+1$. Note that the precision of the solution does \emph{not} depend on $N$; internal integration steps are automatically inserted and resized according to the changes in the solution.
-$\mathbf{x}_0$ is a list of $n$ space separated initial values, one for each differential equation. Alternatively, $\mathbf{x}_0$ can be given as a \PS{} procedure pushing the initial values on the stack, or as an algebraic expression where the elements are separated by `\Lkeyword{|}'. Algebraic notation requires option \Lkeyword{algebraicIC}. This argument can be left empty. In that case, the last computed state vector of the preceding \Lcs{pstODEsaveState} call is used as initial condition. Of course, the number of equations $n$ must be the same as in the preceding calculation.
+$\mathbf{x}_0$ is a list of $n$ space separated initial values, one for each differential equation. Alternatively, $\mathbf{x}_0$ can be given as a \PS{} procedure pushing the initial values on the stack, or as an algebraic expression where the elements are separated by `\Lkeyword{|}'. Algebraic notation requires option \Lkeyword{algebraicIC}. This argument can be left empty. In that case, the last computed state vector of a preceding \Lcs{pstODEsolve} call or a state vector that was set using the \Lcs{pstODEsetOrRestoreState} macro is used as initial condition. Of course, the number of equations $n$ must be the same as in the preceding calculation.
$\mathbf{f}(t,\mathbf{x})$ is the right-hand side of the differential equations. Equations can be entered in either algebraic or \PS{} notation. Algebraic notation requires option \Lkeyword{algebraic}, and equations have to be separated by `\Lkeyword{|}'. The $n$ current state vector components can be referred to as \Lkeyword{x[0]}, \Lkeyword{x[1]}, \dots, \Lkeyword{x[}$n-1$\Lkeyword{]} or \Lkeyword{y[0]}, \Lkeyword{y[1]}, \dots, \Lkeyword{y[}$n-1$\Lkeyword{]}, and the current independent variable value as `\Lkeyword{t}'. If given in \PS{} notation, the provided procedure must first pop the current state vector components in reverse order(!) from the operand stack and then push the first derivatives in regular order back to it. Again, the independent variable value can be accessed using `\Lkeyword{t}'.\\[1ex]
-\Lcs{pstODEsolve} accepts a few \OptArgs: \Lkeyword{append}, \Lkeyword{saveData}, \Lkeyword{algebraicIC}, \Lkeyword{algebraic}, \Lkeyword{silent} and \Lkeyword{varsteptol}.
+\Lcs{pstODEsolve} accepts a few \OptArgs: \Lkeyword{append}, \Lkeyword{saveData}, \Lkeyword{algebraicOutputFormat}, \Lkeyword{algebraicIC}, \Lkeyword{algebraic}, \Lkeyword{silent} and \Lkeyword{varsteptol}.
With \Lkeyword{append}, the computed result is appended to \Larg{result} which must already exist, e.\, g. from a previous use of \Lcs{pstODEsolve}. Usually, the initial condition vector argument is left empty in order to continue integration from the last computed or from a restored state (see \Lcs{pstODEsetOrRestoreState}).
If option \Lkeyword{saveData} is set, the formatted state vectors are written as a table to a textfile named `\Larg{result}\Lkeyword{.dat}'. Note that \Lkeyword{ps2pdf} must be called with option \Lkeyword{-dNOSAFER} to enable writing of external files.
+With \Lkeyword{algebraicOutputFormat}, the command argument \Larg{output format} is a \Lkeyword{|}-separated list of algebraic expressions, according to which the output vector components are to be assembled before storing them into \Larg{result}. Default is not to use algebraic expressions. For details, see the description of \Larg{output format} above.
+
With \Lkeyword{algebraicIC}, the initial condition vector $\mathbf{x}_0$ can be given in algebraic notation. Vector components have to be separated by `\Lkeyword{|}'. Default is \PS{} notation.
-With \Lkeyword{algebraic}, the right-hand side of differential equations $\mathbf{f}(t,\mathbf{x})$ can be given in algebraic notation. Equations are to be separated by `\Lkeyword{|}'. Default is \PS{} notation.
+With \Lkeyword{algebraic}, the right-hand side of differential equations $\mathbf{f}(t,\mathbf{x})$ can be given in algebraic notation. Algebraic expressions are to be separated by `\Lkeyword{|}'. Default is \PS{} notation.
Option \Lkeyword{silent} suppresses the terminal output of stepping information.