From f3ced170faef47bcdf76f96eabf0534a58fd348e Mon Sep 17 00:00:00 2001
From: Fabian <@>
Date: Fri, 22 Jul 2022 16:31:41 +0200
Subject: 0f1, struktur

---
 buch/papers/0f1/images/airy.pdf                 | Bin 0 -> 25568 bytes
 buch/papers/0f1/images/konvergenzAiry.pdf       | Bin 0 -> 15137 bytes
 buch/papers/0f1/images/konvergenzNegativ.pdf    | Bin 0 -> 16312 bytes
 buch/papers/0f1/images/konvergenzPositiv.pdf    | Bin 0 -> 18924 bytes
 buch/papers/0f1/images/stabilitaet.pdf          | Bin 0 -> 20944 bytes
 buch/papers/0f1/listings/kettenbruchIterativ.c  |  45 ++++++++++++++++++++++++
 buch/papers/0f1/listings/kettenbruchRekursion.c |  19 ++++++++++
 buch/papers/0f1/listings/potenzreihe.c          |  13 +++++++
 8 files changed, 77 insertions(+)
 create mode 100644 buch/papers/0f1/images/airy.pdf
 create mode 100644 buch/papers/0f1/images/konvergenzAiry.pdf
 create mode 100644 buch/papers/0f1/images/konvergenzNegativ.pdf
 create mode 100644 buch/papers/0f1/images/konvergenzPositiv.pdf
 create mode 100644 buch/papers/0f1/images/stabilitaet.pdf
 create mode 100644 buch/papers/0f1/listings/kettenbruchIterativ.c
 create mode 100644 buch/papers/0f1/listings/kettenbruchRekursion.c
 create mode 100644 buch/papers/0f1/listings/potenzreihe.c

(limited to 'buch/papers/0f1')

diff --git a/buch/papers/0f1/images/airy.pdf b/buch/papers/0f1/images/airy.pdf
new file mode 100644
index 0000000..672d789
Binary files /dev/null and b/buch/papers/0f1/images/airy.pdf differ
diff --git a/buch/papers/0f1/images/konvergenzAiry.pdf b/buch/papers/0f1/images/konvergenzAiry.pdf
new file mode 100644
index 0000000..2e635ea
Binary files /dev/null and b/buch/papers/0f1/images/konvergenzAiry.pdf differ
diff --git a/buch/papers/0f1/images/konvergenzNegativ.pdf b/buch/papers/0f1/images/konvergenzNegativ.pdf
new file mode 100644
index 0000000..3b58be4
Binary files /dev/null and b/buch/papers/0f1/images/konvergenzNegativ.pdf differ
diff --git a/buch/papers/0f1/images/konvergenzPositiv.pdf b/buch/papers/0f1/images/konvergenzPositiv.pdf
new file mode 100644
index 0000000..24e3fd5
Binary files /dev/null and b/buch/papers/0f1/images/konvergenzPositiv.pdf differ
diff --git a/buch/papers/0f1/images/stabilitaet.pdf b/buch/papers/0f1/images/stabilitaet.pdf
new file mode 100644
index 0000000..be4af42
Binary files /dev/null and b/buch/papers/0f1/images/stabilitaet.pdf differ
diff --git a/buch/papers/0f1/listings/kettenbruchIterativ.c b/buch/papers/0f1/listings/kettenbruchIterativ.c
new file mode 100644
index 0000000..befea8e
--- /dev/null
+++ b/buch/papers/0f1/listings/kettenbruchIterativ.c
@@ -0,0 +1,45 @@
+static double fractionRekursion0f1(const double c, const double x, unsigned int n)
+{
+    double a = 0.0;
+    double b = 0.0;
+    double Ak = 0.0;
+    double Bk = 0.0;
+    double Ak_1 = 0.0;
+    double Bk_1 = 0.0;
+    double Ak_2 = 0.0;
+    double Bk_2 = 0.0;
+
+    for (unsigned int k = 0; k <= n; ++k)
+    {
+        if (k == 0)
+        {
+            a = 1.0; //a0
+            //recursion fomula for A0, B0
+            Ak = a;
+            Bk = 1.0;
+        }
+        else if (k == 1)
+        {
+            a = 1.0; //a1
+            b = x/c; //b1
+            //recursion fomula for A1, B1
+            Ak = a * Ak_1 + b * 1.0;
+            Bk = a * Bk_1;
+        }
+        else
+        {
+            a = 1 + (x / (k * ((k - 1) + c)));//ak
+            b = -(x / (k * ((k - 1) + c)));   //bk
+            //recursion fomula for Ak, Bk
+            Ak = a * Ak_1 + b * Ak_2;
+            Bk = a * Bk_1 + b * Bk_2;
+        }        
+        //save old values
+        Ak_2 = Ak_1;
+        Bk_2 = Bk_1;
+        Ak_1 = Ak;
+        Bk_1 = Bk; 
+    }
+    //approximation fraction
+    return  Ak/Bk;
+}
diff --git a/buch/papers/0f1/listings/kettenbruchRekursion.c b/buch/papers/0f1/listings/kettenbruchRekursion.c
new file mode 100644
index 0000000..958d4e1
--- /dev/null
+++ b/buch/papers/0f1/listings/kettenbruchRekursion.c
@@ -0,0 +1,19 @@
+static double fractionIter0f1(const double b0, const double z, unsigned int n)
+{
+    double a = 0.0;
+    double b = 0.0;
+    double abn = 0.0;
+    double temp = 0.0;
+
+    for (; n > 0; --n)
+    {
+        abn = z / (n * ((n - 1) + b0));  //abn = ak, bk
+        
+        a = n > 1 ? (1 + abn) : 1;  //a0, a1
+        b = n > 1 ? -abn : abn;     //b1
+
+        temp = b / (a + temp); 
+    }
+
+    return a + temp;   //a0 + temp
+}
\ No newline at end of file
diff --git a/buch/papers/0f1/listings/potenzreihe.c b/buch/papers/0f1/listings/potenzreihe.c
new file mode 100644
index 0000000..bfaa0e3
--- /dev/null
+++ b/buch/papers/0f1/listings/potenzreihe.c
@@ -0,0 +1,13 @@
+#include <math.h>
+
+static double powerseries(const double b, const double z, unsigned int n)
+{
+    double temp = 0.0;
+
+    for (unsigned int k = 0; k < n; ++k)
+    {
+        temp += pow(z, k) / (factorial(k) * pochhammer(b, k));
+    }
+
+    return temp;
+}
\ No newline at end of file
-- 
cgit v1.2.1