summaryrefslogtreecommitdiff
path: root/transverse/hermitepoly.m
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2014-05-13 15:35:26 -0400
committerEugeniy Mikhailov <evgmik@gmail.com>2014-05-13 15:58:56 -0400
commitd1b62466d81b164656588ac1c55acff15ee9ea43 (patch)
treecce78f90b0768361c4a268b946848842e1e47456 /transverse/hermitepoly.m
downloadoptics_toolkit-d1b62466d81b164656588ac1c55acff15ee9ea43.tar.gz
optics_toolkit-d1b62466d81b164656588ac1c55acff15ee9ea43.zip
initial
The optics_toolkit code taken from http://mercury.pr.erau.edu/~greta9a1/downloads/index.html the older version is also available at mathwork web site http://www.mathworks.com/matlabcentral/fileexchange/15459-basic-paraxial-optics-toolkit
Diffstat (limited to 'transverse/hermitepoly.m')
-rw-r--r--transverse/hermitepoly.m18
1 files changed, 18 insertions, 0 deletions
diff --git a/transverse/hermitepoly.m b/transverse/hermitepoly.m
new file mode 100644
index 0000000..43b77d6
--- /dev/null
+++ b/transverse/hermitepoly.m
@@ -0,0 +1,18 @@
+%-----------------------------------
+% Hermite Polynomial
+% (See e.g. Arfken section 13.1)
+%
+% SYNTAX y=hermitepoly(n,x)
+%-----------------------------------
+
+function y=hermitepoly(n,x)
+
+m=[0:floor(n/2)];
+
+a=factorial(n-2*m);
+b=factorial(m);
+
+y=zeros(size(x));
+for s=1:length(m)
+ y = y + factorial(n) ./ a(s) ./ b(s) .* (-1).^m(s) * (2*x).^(n-2*m(s));
+end