summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-func/tex/pst-func.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pstricks/contrib/pst-func/tex/pst-func.tex')
-rw-r--r--graphics/pstricks/contrib/pst-func/tex/pst-func.tex48
1 files changed, 45 insertions, 3 deletions
diff --git a/graphics/pstricks/contrib/pst-func/tex/pst-func.tex b/graphics/pstricks/contrib/pst-func/tex/pst-func.tex
index 0bef36090b..c581b1e49f 100644
--- a/graphics/pstricks/contrib/pst-func/tex/pst-func.tex
+++ b/graphics/pstricks/contrib/pst-func/tex/pst-func.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-func.tex 861 2018-12-13 20:40:06Z herbert $
+%% $Id: pst-func.tex 1184 2020-06-06 18:36:57Z herbert $
%%
%% This is file `pst-func.tex',
%%
@@ -31,8 +31,8 @@
% interface to the `xkeyval' package
\pst@addfams{pst-func}
%
-\def\fileversion{0.93}
-\def\filedate{2019/05/17}
+\def\fileversion{0.95}
+\def\filedate{2020/06/06}
\message{`PST-func' v\fileversion, \filedate\space (hv)}
%
\pstheader{pst-func.pro}
@@ -268,6 +268,48 @@
}%
}\ignorespaces}
%
+\define@key[psset]{pst-func}{n}[1]{\def\psk@func@n{#1 }}
+\psset[pst-func]{n=0}
+\def\psLaguerre{\@ifnextchar[{\psLaguerre@i}{\psLaguerre@i[]}}%% hv 20200111
+\def\psLaguerre@i[#1](#2,#3){{%%% n
+ \pst@killglue%
+ \psplot[#1]{#2}{#3}{%
+ /L_n 1 def
+ 0 1 \psk@func@n {
+ /k_i ED
+ -1 k_i exp k_i factorial div
+ \psk@func@n k_i MoverN mul
+ x k_i exp mul L_n add
+ /L_n ED
+ } for
+ x \pst@number\psxunit mul L_n
+ %dup == %\pst@number\psyunit div
+ }%
+}\ignorespaces}
+%
+\def\psLegendre{\@ifnextchar[{\psLegendre@i}{\psLegendre@i[]}}%% hv 20200115
+\def\psLegendre@i[#1](#2,#3){{%%% n
+ \pst@killglue%
+ \psplot[#1]{#2}{#3}{%
+ /P_n 0 def
+ \psk@func@n 0 eq { /P_1 1 def }{ \psk@func@n 1 eq { /P_1 x def }
+ { /P_0 1 def
+ /P_1 x def
+ 2 1 \psk@func@n {
+ /k_i ED
+ k_i dup add 1 sub x mul P_1 mul % (2n-1)*x*P_1
+ k_i 1 sub P_0 mul sub % − ( n−1 ) P_{n-2}(x)
+ k_i div
+ /P_0 P_1 def
+ /P_1 ED
+ } for
+%n Pn ( x ) = ( 2n − 1 ) P_{n−1}(x) − ( n−1 ) P_{n-2}(x)
+ } ifelse } ifelse
+ x \pst@number\psxunit mul P_1
+ %dup == %\pst@number\psyunit div
+ }%
+}\ignorespaces}
+%
\define@key[psset]{pst-func}{sigma}[0.5]{\def\psk@sigma{#1 }}
\define@key[psset]{pst-func}{mue}[0]{\def\psk@mue{#1 }}
\define@key[psset]{pst-func}{nue}[1]{\def\psk@nue{#1 }}