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 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 + +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