aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/050-differential
diff options
context:
space:
mode:
Diffstat (limited to 'buch/chapters/050-differential')
-rw-r--r--buch/chapters/050-differential/Makefile.inc2
-rw-r--r--buch/chapters/050-differential/besselhyper.maxima37
-rw-r--r--buch/chapters/050-differential/uebungsaufgaben/airy.cpp4
3 files changed, 40 insertions, 3 deletions
diff --git a/buch/chapters/050-differential/Makefile.inc b/buch/chapters/050-differential/Makefile.inc
index b72a275..7151c07 100644
--- a/buch/chapters/050-differential/Makefile.inc
+++ b/buch/chapters/050-differential/Makefile.inc
@@ -4,7 +4,7 @@
# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
#
-CHAPTERFILES = $(CHAPTERFILES) \
+CHAPTERFILES += \
chapters/050-differential/beispiele.tex \
chapters/050-differential/potenzreihenmethode.tex \
chapters/050-differential/bessel.tex \
diff --git a/buch/chapters/050-differential/besselhyper.maxima b/buch/chapters/050-differential/besselhyper.maxima
new file mode 100644
index 0000000..0a67819
--- /dev/null
+++ b/buch/chapters/050-differential/besselhyper.maxima
@@ -0,0 +1,37 @@
+/*
+ * besselhyper.maxima
+ */
+gradef(y(x), yp(x));
+gradef(yp(x), ypp(x));
+
+w(x) := x^alpha * y(-x^2/4);
+
+/* Zusammenhang zwischen Y und W */
+Y: x^(-alpha) * W;
+
+/* erste Ableitung Yp ausgedrückt durch W und W' */
+e: Wp=diff(w(x),x) $
+e: ratsimp(e);
+e: subst(W * x^(-alpha), y(-x^2/4), e) $
+e: subst(Yp, yp(-x^2/4), e) $
+s: solve(e, Yp) $
+Yp: rhs(s[1]) $
+Yp: ratsimp(Yp);
+ratsimp(subst(0,W,Yp));
+ratsimp(subst(0,Wp,Yp));
+
+/* zweite Ableitung Yp ausgedrückt durch W, W' und W'' */
+e: Wpp = ratsimp(diff(diff(w(x),x),x));
+e: subst(W * x^(-alpha), y(-x^2/4), e) $
+e: subst(Yp, yp(-x^2/4), e) $
+e: subst(Ypp, ypp(-x^2/4), e) $
+e: ratsimp(e) $
+Ypp: rhs(solve(e, Ypp)[1]) $
+Ypp: ratsimp(Ypp);
+ratsimp(subst(0, W, subst(0, Wp, Ypp)));
+ratsimp(subst(0, W, subst(0, Wpp, Ypp)));
+ratsimp(subst(0, Wp, subst(0, Wpp, Ypp)));
+
+
+B: (-x^2/4) * Ypp + (alpha+1)*Yp - Y;
+expand(-x^(alpha+2) * B);
diff --git a/buch/chapters/050-differential/uebungsaufgaben/airy.cpp b/buch/chapters/050-differential/uebungsaufgaben/airy.cpp
index e4df8e1..eb5c6be 100644
--- a/buch/chapters/050-differential/uebungsaufgaben/airy.cpp
+++ b/buch/chapters/050-differential/uebungsaufgaben/airy.cpp
@@ -44,8 +44,8 @@ double h0f1(double c, double x) {
double f1(double x) {
// unfortunately, gsl_sf_hyperg_0F1 does not work if c<1, because
// it uses a relation to the bessel functions
- //return gsl_sf_hyperg_0F1(2/3, x*x*x/9.);
- return h0f1(2./3., x*x*x/9.);
+ return gsl_sf_hyperg_0F1(2/3, x*x*x/9.);
+ //return h0f1(2./3., x*x*x/9.);
}
double f2(double x) {