Band 2 Grafiken bis 2.4

This commit is contained in:
2026-03-28 12:25:05 +01:00
parent cfc360f1fc
commit 843fda0210
8 changed files with 1344 additions and 380 deletions

View File

@@ -1,6 +1,3 @@
#import "@preview/cetz:0.4.2": * //Grafiken
#import "@preview/fletcher:0.5.8" as fletcher: diagram, node, edge
#import "@preview/marge:0.1.0": sidenote
#import "@preview/itemize:0.2.0" as el
@@ -9,21 +6,41 @@
#import "deckblatt.typ": deckblatt
//#import "abhaengigkeit.typ": abhaengigkeit
#import "abhaengigkeit.typ": abhaengigkeit
#let einruecken(abstand, inhalt) = pad(left: abstand, inhalt)
#let def-counter = counter("definition")
// Zähler bei jedem neuen Kapi#import "@preview/fletcher:0.5.8" as fletcher: diagram, node, edge
#import "@preview/marge:0.1.0": sidenote
#import "@preview/itemize:0.2.0" as el
#import "@preview/eqalc:0.1.3": *
#import "grafiken.typ": *
#import "deckblatt.typ": deckblatt
#import "abhaengigkeit.typ": abhaengigkeit
#let einruecken(abstand, inhalt) = pad(left: abstand, inhalt)
#let def-counter = counter("definition")
#let bsp-counter = counter("besipiel")
// Zähler bei jedem neuen Kapitel (Ebene 1) zurücksetzen
#let def-counter = counter("definition")
#let hrule = line(length: 100%)
// Zähler bei jedem neuen Kapitel zurücksetzen
#show heading.where(level: 1): it => {
it
def-counter.update(0)
def-counter.update(1)
bsp-counter.update(1)
}
#let definition(title: none, body, label: none) = context {
@@ -46,12 +63,42 @@
]
}
#let beispiel(title: none, body, label: none) = context {
bsp-counter.step()
let h1-num = counter(heading).at(here()).first()
let b-num = bsp-counter.at(here()).first()
let full-num = [#h1-num.#b-num]
// Die Figure wird erstellt und das Label direkt angehängt
[
#figure(
block(width: 100%, align(left)[
#hrule
*Beispiel #full-num*: #if title != none [(#title)] #body
#hrule]),
kind: "beispiel",
supplement: [B.],
numbering: _ => full-num,
) #label
]
}
// Zähler bei jedem neuen Kapitel (Ebene 1) zurücksetzen
#show heading.where(level: 1): it => {
it
def-counter.update(1)
}
#show figure.caption: it => {
it.supplement // "Abbildung"
[ ] // Ein Leerzeichen statt des Doppelpunkts
context it.counter.display(it.numbering)
[ ] // Noch ein Leerzeichen vor dem Text
it.body // Der eigentliche Text der Caption
}
#let sn-base = sidenote
@@ -67,9 +114,6 @@
]
//#import "definitionen.typ": *
#set text(
font: "Lato", //Serifenlose Schrift
size: 8.5pt,
@@ -91,9 +135,13 @@
#let meinContent = [*Band 7* #sym.dot.c _Grundlagen_]
// Einfach die Funktion aufrufen
#deckblatt(bandnr: "2", autor: tt, titel: "Differential- und Integralrechnung\nfür Funktionen\nmit einer Variablen")
#pagebreak()
#pagebreak()
#set page(
width:162mm,
height: 230mm,
@@ -105,6 +153,7 @@
leading: 0.55em,
)
#set page(
//background: grid(columns: (1mm,) * 162, rows: (1mm,) * 230, stroke: 0.1mm),
margin: (
@@ -123,361 +172,7 @@
//edge(label(str(name)+".west"), label(str(name)+".east"),"-", stroke: 0.2mm, dash:(1mm, 0.8mm))
} */
#let mynode(pos, zahl, inhalt, name) = {
node(
pos,
name: name,
shape: rect, // 1. Zwingt Fletcher zum Rechteck
corner-radius: 0pt, // 2. Verhindert abgerundete Ecken
fill: white, // Optional: Hintergrund füllen
stroke: 1.25pt,
// 3. WICHTIG: Festlegen einer Mindestgröße, damit alle gleich starten
// Anstatt extrude nutzen wir feste Maße, die sich aber am Gitter ausrichten
width: 12em,
height: 5.8em,
{
// Dein Layout-Block
set align(top + right)
text(2.5em, fill: gray.darken(90%))[#zahl]
place(bottom + left, inhalt)
}
)}
#let myedge(start, end, type, ) = {
let sep = 0.15em
edge(start, end, type)
edge(start, end)
}
#diagram(
spacing: (11mm, 7mm),
//debug: 3,
edge-stroke: 1.25pt,
mark-scale: 55%,
mynode((0,0),"",[Vorbereitungsband], <A0>),
mynode((1,0),"1", [Grundlagen], <A1>),
mynode((2,0), "13",[Lineare Algebra], <A13>),
mynode((0,1),"3",[Unendliche Reihen], <A3>),
mynode((1,1), "2",[Differential- und Integralrechnung], <A2>),
mynode((2,1), "14",[Lineare Optimierung], <A14>),
mynode((0,2), [7$#sub(text(0.5em)[1])$],[Gewöhnliche Differentialgleichungen], <A7_1>),
mynode((1,2), "4",[Differentialrechnung mit mehreren Variablen], <A4>),
mynode((2,2), "15",[Nichtlineare Optimierung], <A15>),
mynode((0,3), [7$#sub(text(0.5em)[2])$],[Gewöhnliche Differentialgleichungen], <A7_2>),
mynode((1,3.), "5",[Integralrechnung mit mehreren Variablen], <A5>),
mynode((2,3), "16",[Optimale Prozesse und Systeme], <A16>),
mynode((0,4), "8",[Partielle Differentialgleichungen], <A8>),
mynode((1,4), "6",[Differentialgeometrie], <A6>),
mynode((2,4), "17",[Wahrscheinlichkeitsrechnung, math.Statistik], <A17>),
mynode((0,5), "9",[Komplexe Funktionen], <A9>),
mynode((1,5), "10",[Operatorenrechnung], <A10>),
mynode((2,5), [21$#sub(text(0.5em)[1])$],[Spieltheorie], <A21_1>),
mynode((0,6), "12",[Spezielle Funktionen], <A12>),
mynode((1,6), "11",[Tensoralgebra und -analysis], <A11>),
mynode((2,6), [21$#sub(text(0.5em)[2])$],[Graphentheorie], <A21_2>),
mynode((0,7), [18],[Numerische Methoden], <A18>),
mynode((1,7), [20],[Simulation], <A20>),
mynode((2,7), [19$#sub(text(0.5em)[1])$],[Stochastische Prozesse und Modelle], <A19_1>),
mynode((0,8), [22],[Funktionalanalysis], <A22>),
mynode((1,8), [23],[Symmetriegruppen], <A23>),
mynode((2,8), [19$#sub(text(0.5em)[2])$],[Statistische Versuchsplanung], <A19_2>),
myedge(<A0.east>,<A1.west>,"-|>"),
myedge(<A1.south>,<A2.north>,"-|>"),
myedge(<A2.west>,<A3.east>,"-|>"),
myedge(<A13.south>,<A14.north>,"-|>"),
myedge(<A2.south>,<A4.north>,"-|>"),
myedge(<A4.south>,<A5.north>,"-|>"),
myedge(<A5.south>,<A6.north>,"-|>"),
myedge(<A14.south>,<A15.north>,"-|>"),
myedge(<A7_1.south>,<A7_2.north>,"-|>"),
myedge(<A7_2.south>,<A8.north>,"-|>"),
myedge(<A8.south>,<A9.north>,"-|>"),
myedge(<A9.south>,<A12.north>,"-|>"),
myedge(<A12.south>,<A18.north>,"-|>"),
myedge(<A10.south>,<A11.north>,"-|>"),
myedge(<A15.south>,<A16.north>,"-|>"),
myedge(<A17.south>,<A21_1.north>,"-|>"),
myedge(<A19_1.south>,<A19_2.north>,"-|>"),
// NEUES Edge: 1,3 (n3_1) → 3,2 (n2_3)
// Verlauf: rechts von n3_1 nach rechts, runter auf Höhe von n2_3, dann links zur Node
//9 → 22
edge(
vertices: (
<A9.east>,
(0, 5.2), // deutlich nach rechts → sichtbarer Knick
(0.5, 5.2), // dann nach links
(0.5, 8), // runter
<A22.east>,
),
corner: right,
corner-radius: 0pt, // abgerundete Ecken!
stroke: orange + 1.25pt,
marks: "-|>",
shift: (1pt, 1pt),
),
//10 → 22
edge(
vertices: (
<A10.west>,
(1, 5.2), // deutlich nach rechts → sichtbarer Knick
(0.5, 5.2), // dann nach links
(0.5, 8), // runter
<A22.east>,
),
corner: left,
corner-radius: 0pt, // abgerundete Ecken!
stroke: orange + 1.25pt,
marks: "-|>",
shift: (1pt, 1pt),
),
//3 → 7.2
edge(
vertices: (
<A3.west>,
(-0.85, 1), // deutlich nach rechts → sichtbarer Knick
(-0.85, 1), // dann nach links
(-0.85, 3), // runter
<A7_2.west>,
),
corner: left,
corner-radius: 0pt, // abgerundete Ecken!
stroke: red + 1.25pt,
marks: "-|>",
shift: (1pt, 1pt),
),
//13 → 4
edge(
vertices: (
<A13.west>,
(2, 0.18), // deutlich nach rechts → sichtbarer Knick
(1.5, 0.2), // dann nach links
(1.5, 2), // runter
<A4.east>,
),
corner: left,
corner-radius: 0pt, // abgerundete Ecken!
stroke: green + 1.25pt,
marks: "-|>",
shift: (2pt, 2pt),
),
//1 → 13
edge(
(rel: (0pt, 5mm), to: <A1.east>),
(rel: (0.1, 0.)),
(rel: (0pt, 5mm), to: <A13.west>),
"-|>",
corner-radius: 0pt ,
stroke: green.darken(30%) + 1.25pt,
),
//5 → 8
edge(
(rel: (0pt, 0mm), to: <A5.west>),
(rel: (-0.15, 0.)),
(rel: (0.08,0), to: <A8.east>),
(rel: (0.,0), to: <A8.east>),
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + olive,
),
//7_1 → 6
edge(
vertices: (
(rel: (0pt, -2pt), to: <A7_1.east>),
(0.25, 2.2),
(0.52, 2.2),
(0.52,4),
(rel: (0pt, 0pt), to: <A6.west>)
),
corner-radius: 0pt,
stroke: gray + 1.25pt,
marks: "-|>",
),
//4 → 7_1
edge(
(rel: (0pt, 5mm), to: <A4.west>),
(rel: (-0.1, 0.)),
(rel: (0pt, 5mm), to: <A7_1.east>),
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt ,
),
//9 → 10
edge(
(rel: (0pt, 5mm), to: <A9.east>),
(rel: (0.1, 0.)),
(rel: (0pt, 5mm), to: <A10.west>),
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt ,
),
//5 → 17
edge(
<A5.east>,
(rel: (0.07, 0.)),
(rel: (0, 0.5)),
(rel: (0pt, 10pt), to: <A17.north>),
<A17.north>,
"-|>",
corner-radius: 0pt ,
stroke: blue.lighten(20%) +1.25pt ,
),
//4 → 15
edge(
(rel: (0pt, -5mm), to: <A4.east>),
(rel: (0.1, 0.)),
(rel: (0pt, -5mm), to: <A15.west>),
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt ,
),
//8 → 16
edge(
(rel: (0.2,0), to: <A8.south>),
(rel: (0., 0.1)),
(rel: (1.3, 0.)),
(rel: (-0.115, 0), to: <A16.west>),
<A16.west>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + yellow.darken(20%),
),
//6 → 11
edge(
(rel: (0pt, -5mm), to: <A6.east>),
(rel: (0.065, 0.)),
(rel: (0.065,0), to: <A11.east>),
(rel: (0.,0), to: <A11.east>),
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + purple.lighten(20%),
),
//13 → 23
edge(
(<A13.east>),
(rel:(0.75,0)),
(rel:(0, 9.8)),// <----
(rel:(-3.38, 0)),
//(rel: (0.6, 0.), to: <A21_2.east>),
<A23.south>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + orange.darken(10%),
),
//15 → 21_1 21_2
edge(
(<A15.east>),
// Startpunkt
(rel: (0.5, 0)),
(rel: (0.5, 0.), to: <A21_1.east>),
<A21_1.east>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + blue,
),
edge(
(<A15.east>),
// Startpunkt
(rel: (0.5, 0)),
(rel: (0.5, 0.), to: <A21_2.east>),
<A21_2.east>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + blue,
),
//16 → 19_1 19_2
edge(
(<A16.east>),
(rel: (0.3, 0)),
(rel: (0.3, 0.), to: <A19_1.east>),
<A19_1.east>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + purple,
),
edge(
(<A16.east>),
(rel: (0.3, 0)),
(rel: (0.3, 0.), to: <A19_2.east>),
<A19_2.east>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + purple,
),
//17 → 21_2
edge(
(rel: (-0.2,0), to: <A17.south>),
(rel: (0, 0.2)),
(rel: (-.325, 0.)),
(rel: (-0.14, 0), to: <A21_2.west>),
<A21_2.west>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + red,
),
//17 → 19_1, 19_2
edge(
(<A17.west>),
(rel: (-0.075, 0)),
(rel: (-0.075,-0.20), to: <A19_1.west>),
(rel: (0.,-0.2), to: <A19_1.west>),
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + green,
),
edge(
(<A17.west>),
(rel: (-0.075, 0)),
(rel: (-0.075, 0.), to: <A19_2.west>),
<A19_2.west>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + green,
),
//19_2 → 20
edge(
(<A19_2.north>),
(rel: (-0.2, 0)),
(rel: (0, -0.1)),
(rel: (-0, 0.18), to: <A20.south>),
<A20.south>,
"-|>",
corner-radius: 0pt ,
stroke: 1.25pt + blue,
),
)
#abhaengigkeit
#show heading: it => {
set block(below: if it.level == 1 { 2em } else { 1em })
@@ -513,7 +208,7 @@ edge(
#set outline(indent: auto)
#show figure.where(kind: image): set figure(supplement: [Bild]) //Abbildung zu Bild
#set page(
header: context {
@@ -564,6 +259,7 @@ edge(
)
#show selector(<nonumber>): set heading(numbering: none)
= Vorwort <nonumber>
@@ -611,22 +307,154 @@ Die mathematischen Möglichkeiten reichen jedoch über die unmittelbare Anwendba
#pagebreak()
= Grenzwerte
#set math.equation(
numbering: n => numbering("(2.1)", n),
supplement: none,
)
#let numbered_eq(label_name, content) = [
#math.equation(
block: true,
content
)
#label(label_name)
]
#show figure: set figure(numbering: n => {
let chap = counter(heading).get().at(0)
[#chap.#n]
})
//== Grenzwert einer Funktion für $\boldsymbol{x} \rightarrow \boldsymbol{x}_0$
// 2.1.1. Definition des Grenzwertes einer Funktion für $\boldsymbol{x} \rightarrow \boldsymbol{x}_0$
// Im folgenden bedeutet „Funktion“ stets „reellwertige Funktion einer reellen Variablen".
// Als Vorbereitung auf den Grenzwertbegriff für Funktionen behandeln wir das
// Beispiel 2.1: An die Parabel $y=x^2$ werde die Sekante durch den festen Kurvenpunkt $P_0\left(\frac{1}{2}, \frac{1}{4}\right)$ und den variablen Kurvenpunkt $P\left(x, x^2\right)$ gelegt (s. Bild 2.1). Der Anstieg der Sekante ist eine Funktion $f$ von $x$ :
= Grenzwerte *$x arrow.r x_0$*
// $$
// f(x)=\frac{x^2-\frac{1}{4}}{x-\frac{1}{2}} \quad\left(x \neq \frac{1}{2}\right) .
// $$
== Grenzwert einer Funktion für *$x arrow.r x_0$*
$x arrow.r x_0$
Im folgenden bedeutet "Funktion" stets "reellwertige Funktion einer reellen Variablen".
Als Vorbereitung auf den Grenzwertbegriff für Funktionen behandeln wir das
#beispiel[An die Parabel $y=x^2$ werde die Sekante durch den festen Kurvenpunkt $P_0(1/2, 1/4)$ und den variablen Kurvenpunkt $P(x, x^2)$ gelegt (s. @abb1). Der Anstieg der Sekante ist eine Funktion $f$ von $x$:
#table(
columns: (1fr, 1fr),
column-gutter: 1em,
stroke: none,
align: bottom + center,
[
#figure(
scale(x: 50%, y: 50%, reflow: true, b2_1),
caption: [],
) <abb1>
],
[
#figure(
scale(x: 50%, y: 50%, reflow: true, b2_2),
caption: [],
) <abb2>
]
)
#numbered_eq("eq21", $ f(x)=(x^2 - 1/4)/(x - 1/2) $)
Auf Grund der Anschauung wird man vermuten, daß bei "Annäherung" von $x$ an die Stelle $ 1/2$ die Sekante in eine gewisse "Grenzlage" übergeht, also auch ihr Anstieg ( @eq21 ) einen gewissen "Grenzwert“ annimmt. Betrachten wir also die Funktion $f$. An der Stelle $x=1/2$ ist $f$ nicht definiert. Für $x eq.not 1/2$ gilt
#numbered_eq("eq22", $ f(x) = ((x - 1/2) (x + 1/2)) / (x - 1/2) = x + 1/2 quad quad (x eq.not 1/2)$)
Die Bildkurve von $f$ ist in @abb2 dargestellt #footnote[In @abb2 soll der kleine Kreis um den Punkt $(1)/2, 1)$ andeuten, daß dieser Punkt nicht zur Bildkurve von $f$ gehört. Analog wird in den folgenden Beispielen verfahren.]. Die Anschauung legt jetzt etwa die folgende Formulierung nahe: „Für $x$ gegen $1/2$ strebt $f(x)$ gegen $1$."
]
Unsere Aufgabe wird es nun sein, einer solchen Formulierung einen von der Anschauung unabhängigen, wohldefinierten Sinn zu geben.
Soll allgemein das Verhalten einer Funktion $f$ bei "Annäherung" der unabhängigen Variablen $x$ an eine reelle Zahl $x_0$ untersucht werden, so ist es naheliegend, die Variable $x$ Zahlenfolgen $(x_n)$ mit folgenden Eigenschaften durchlaufen zu lassen:
// #align ohne Nummerierung
#align(left,[
#set math.equation(numbering: none)
$
& ("E 1") &quad& x_n in D(f) ^#footnote[$D(f)$ bezeichnet den Definitionsbereich von $f$.] &quad& " für alle" n &quad& (n=1,2,3,dots) \
& ("E 2") && x_n eq.not x_0 && " für alle" n \
& ("E 3") && lim_(x->n)x_n = x_0
$])
Die Eigenschaft (E 2) bedeutet, daß das Verhalten von $f$ an der Stelle $x_0$ selbst nicht in Betracht gezogen wird. Daher braucht $f$ auch nur in einer sog. _punktierten Umgebung_ von $x_0$ definiert zu sein. Das ist, mit einem $c>0$, die Menge aller $x$ mit
#v(3mm)
#figure(
{
set math.equation(numbering: none)
scale(x: 70%, y: 70%, reflow: true, b2_3)
},
caption: [],
) <abb3>
Das Verhalten von $f$ in einer punktierten Umgebung von $x_0$ wird nun durch das Verhalten der Folge der Funktionswerte $f(x_n)$ charakterisiert.
#definition(label: <D.21>)[Die #snl([@D.21]) Funktion $f$ sei (mindestens) in einer punktierten Umgebung von $x_0$ definiert. Eine Zahl $g$ heißt *Grenzwert von $f$ für $x$ gegen $x_0$*, in Zeichen
#math.equation(
block: true,
numbering: none,
$ lim_(x->x_0)f(x) = g " oder " f(x)->g " für " x->x_0 $
)
wenn für je de Folge ( $x_n$ ) mit den Eigenschaften $(E" "1)$, $(E" "2)$, $(E" "3)$ die Folge ( $f(x_n)$ ) gegen $g$ konvergiert.]
Damit ist der Begriff des Grenzwertes einer Funktion auf den Grenzwertbegriff für Zahlenfolgen zurückgeführt.
In @abb4 haben wir die ersten drei Glieder einer Folge ( $x_n$ ) und der zugehörigen Folge $f\(x_n))$ eingezeichnet.
#figure(
{
set math.equation(numbering: none)
scale(x: 70%, y: 70%, reflow: true, b2_4)
},
caption: [],
) <abb4>
#beispiel[Gesucht ist der Grenzwert der Funktion
#math.equation(
block: true,
numbering: none,
$ f(x)=(x^2-1/4)/(x-1/2) " für " x -> 1/2. $
)
Es sei $(x_n)$ eine beliebige Folge mit
#numbered_eq("eq23", $ x_n eq.not 1/2 " für alle " n " und " lim_(n->infinity)x_n = 1/2 $ )
Unter Verwendung von @eq22 und bekannten Grenzwertsätzen für Zahlenfolgen folgt dann
#numbered_eq("eq24", $ lim_(n->infinity) f(x_n)=lim_(n->infinity}(x_n+1/2)=lim_(n->infinity) x_n + lim_(n->infinity) 1/2 = 1/2 + 1/2 =1 $)
Die Gültigkeit von @eq24 wurde für eine beliebige und damit für jede Folge $\(x_n)$ mit den Eigenschaften @eq23 bewiesen. Daher gilt
/* $$
\lim _{x \rightarrow \frac{1}{2}} \frac{x^2-\frac{1}{4}}{x-\frac{1}{2}}=1,
$$
was in Einklang mit der Anschauung steht (Bild 2.2). */
]
//{n \rightarrow \infty} x_n+\lim _{n \rightarrow \infty} \frac{1}{2}=\frac{1}{2}+\frac{1}{2}=1$
/*
$$
\lim _{x \rightarrow x_0} f(x)=g \quad \text { oder } \quad f(x) \rightarrow g \quad f \ddot{u} r \quad x \rightarrow x_0,
$$
*/
/*
#import "@preview/cetz-plot:0.1.3": plot
@@ -759,9 +587,6 @@ $x arrow.r x_0$
})
#import "@preview/simple-plot:0.3.0": plot
//#set page(width: auto, height: auto, margin: 0.5cm)
@@ -794,4 +619,5 @@ $x arrow.r x_0$
(fn: x => calc.pow(2, x), stroke: blue + 1.5pt, label: $2^x$),
(fn: x => calc.pow(3, x), stroke: red + 1.5pt, label: $3^x$),
)
*/