Compare commits

..

16 Commits

Author SHA1 Message Date
alexander
6dfe3998e1 a
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 10s
2026-01-19 01:08:41 +01:00
alexander
421ddd1f6d aaaa
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 10s
2026-01-19 01:06:07 +01:00
alexander
ecdc00b4b2 moved more around
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 11s
2026-01-19 01:04:12 +01:00
alexander
8b24c9ea8e a
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 9s
2026-01-19 00:58:42 +01:00
alexander
740384a433 Moved names arround
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 9s
2026-01-19 00:57:27 +01:00
alexander
0f9aed8b07 ci/Cd
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 10s
2026-01-19 00:54:41 +01:00
alexander
d8769ca440 Update gitea
Some checks failed
Build Typst PDFs (Docker) / build-typst (push) Failing after 12s
2026-01-19 00:52:40 +01:00
alexander
6cdd323198 removed old shit
Some checks failed
Build Typst PDFs (Docker) / build-typst (push) Failing after 16s
2026-01-19 00:39:42 +01:00
alexander
d3c51d5ee7 Merge branch 'clean' 2026-01-19 00:38:41 +01:00
alexander
ae64e72fd4 reverted to old state 2026-01-19 00:38:18 +01:00
alexander
db9a34579f Added "Prototection"
Some checks failed
Build Typst PDFs (Docker) / build-typst (push) Failing after 50s
2026-01-18 23:53:53 +01:00
alexander
3eac461f7a Finsihed 2026-01-18 23:53:53 +01:00
alexander
b16009f62a asd
Some checks failed
Build Typst PDFs (Docker) / build-typst (push) Failing after 15s
2026-01-18 18:11:26 +01:00
alexander
a617d285f2 Moved shit around
Some checks failed
Build Typst PDFs (Docker) / build-typst (push) Failing after 11s
2026-01-18 13:51:59 +01:00
alexander
50744d9155 Added sine table and cc0 mark
Some checks failed
Build Typst PDFs (Docker) / build-typst (push) Failing after 11s
2026-01-18 13:49:19 +01:00
alexander
95f83c8291 Added sine table and cc0 mark
Some checks failed
Build Typst PDFs (Docker) / build-typst (push) Failing after 17s
2026-01-18 13:48:24 +01:00
21 changed files with 4468 additions and 20552 deletions

View File

@@ -7,16 +7,13 @@ on:
pull_request:
branches: [ "**" ]
env:
TYPST_SOURCE_DIR: src
BUILD_DIR: build
jobs:
build-typst:
runs-on: ubuntu-latest
# Run the whole job inside a Docker container that has Typst installed
steps:
- uses: typst-community/setup-typst@v4
- name: Checkout repository
uses: actions/checkout@v4
with:
@@ -27,38 +24,25 @@ jobs:
- name: Debug Ls
run: ls -la "$PWD" && echo "$PWD && echo ${{ github.workspace }}"
- name: Build Typst builder image
uses: docker/build-push-action@v2
with:
tags: typst-builder-image:latest
push: false
- name: Make build directory
run: mkdir -p build
- name: Compile all .typ files
uses: addnab/docker-run-action@v3
env:
TYPST_SOURCE_DIR: ${{ env.TYPST_SOURCE_DIR }}
BUILD_DIR: ${{ env.BUILD_DIR }}
with:
image: typst-builder-image:latest
options: --volumes-from=${{ env.JOB_CONTAINER_NAME }}
cwd: ${{ github.workspace }}
run: "cd ${{ github.workspace }} && TYPST_SOURCE_DIR=${{ env.TYPST_SOURCE_DIR }} BUILD_DIR=${{ env.BUILD_DIR }} bash -c ./compile-all.bash"
- name: Compile Analysis1
continue-on-error: true
run: typst compile --root src src/cheatsheets/Analysis1.typ build/Analysis1.pdf
- name: Upload PDFs
if: always()
uses: actions/upload-artifact@v3
with:
name: typst-pdfs
path: ${{ env.BUILD_DIR }}/*.pdf
if-no-files-found: warn
- name: Compile Schaltungstheorie
continue-on-error: true
run: typst compile --root src src/cheatsheets/Schaltungstheorie.typ build/Schaltungstheorie.pdf
- name: Compile LinAlg
continue-on-error: true
run: typst compile --root src src/cheatsheets/LinearAlgebra.typ build/LinearAlgebra.pdf
- name: Create Gitea Release
uses: softprops/action-gh-release@v1
continue-on-error: true
uses: akkuman/gitea-release-action@v1
with:
tag_name: ${{ steps.tag.outputs.tag }}
name: Typst PDFs ${{ steps.tag.outputs.tag }}
body: |
Automated release of Typst-generated PDFs.
Commit: ${{ github.sha }}
files: ${{ env.BUILD_DIR }}/*.pdf
name: "Formelsammlungen PDFs"
tag_name: "latest"
files: build/*.pdf

8
.gitignore vendored
View File

@@ -1 +1,7 @@
venv
.venv
out
node_modules
__pycache__/
package-lock.json
package.json

17
.vscode/tasks.json vendored
View File

@@ -1,17 +0,0 @@
{
"tasks": [
{
"label": "Compile All",
"type": "shell",
"command": "TYPST_SOURCE_DIR=src BUILD_DIR=output ./compile-all.bash",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [],
"options": {
"cwd": "${workspaceFolder}"
}
}
]
}

4135
build/Analysis1.pdf Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,31 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
SRC_DIR="${TYPST_SOURCE_DIR}"
OUT_DIR="${BUILD_DIR}"
if [[ ! -d "$SRC_DIR" ]]; then
echo "Source directory '$SRC_DIR' does not exist."
exit 1
fi
mkdir -p "$OUT_DIR"
# Find all .typ files under $SRC_DIR (excluding hidden dirs)
mapfile -d '' files < <(printf '%s\0' "$SRC_DIR"/*.typ 2>/dev/null)
if [[ ${#files[@]} -eq 0 ]]; then
echo "No .typ files found in '$SRC_DIR'."
exit 0
fi
for f in "${files[@]}"; do
# Trim leading ./ if present
rel="${f#./}"
# Destination path: build/<same-subdirs>/<filename>.pdf
dest_pdf="${OUT_DIR}/$(basename "${rel%.typ}").pdf"
echo "Compiling: $f -> $dest_pdf"
typst compile "$f" "$dest_pdf"
done

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

View File

@@ -1,17 +0,0 @@
from matplotlib import pyplot as plt
f = lambda x_prev: 1/4 * (x - 3)
x = 0
reihe = [x]
for i in range(100):
x = f(x)
reihe.append(x)
plt.plot(reihe, marker='o', linestyle='-')
plt.title("Reihen Plot")
plt.xlabel("n")
plt.ylabel("x_n")
plt.grid()
plt.savefig("reihen_plot.png", dpi=500)

View File

@@ -1,259 +0,0 @@
#import "@preview/biceps:0.0.1": *
#import "@preview/cetz:0.4.2"
#import "lib/styles.typ": *
#import "lib/common.typ": *
#show: stdTemplate
#place(
top+left,
stdBlock([
== #hlHeading([Trig Identitäten])
$sin(x+y) = cos(x)sin(y) + sin(x)cos(y)$ \
$cos(x+y) = cos(x)cos(y) - sin(x)sin(y)$ \
$cos(2x) = cos^2(x) - sin^2(x)$ \
$sin(2x) = 2sin(x)cos(x)$
#grid(
gutter: 5mm,
columns: (auto, auto),
[$cos^2(x) = (1 + cos(2x))/2$],
[$sin^2(x) = (1 - cos(2x))/2$]
)
$cos^2(x) + sin^2(x) = 1$
#grid(
gutter: 5mm,
columns: (auto, auto),
[$cos(-x) = cos(x)$],
[$sin(-x) = -sin(x)$],
)
Subsitution mit Hilfsvariable
#grid(
gutter: 5mm,
row-gutter: 3mm,
columns: (auto, auto),
[$tan(x)=sin(x)/cos(x)$],
[$cot(x)=cos(x)/sin(x)$],
[$tan(x)=-cot(x + pi/2)$],
[$cot(x)=-tan(x + pi/2)$],
[$cos(x - pi/2) = sin(x)$],
[$sin(x + pi/2) = cos(x)$],
)
$sin(x)cos(y) = 1/2sin(x - y) + 1/2sin(x + y)$
Für $x in [-1, 1]$ \
$arcsin(x) = -arccos(x) - pi/2 in [-pi/2, pi/2]$ \
$arccos(x) = -arcsin(x) + pi/2 in [0, pi]$
])
)
#place(
top + left,
dx: 6.5cm,
sinTable
)
#place(
top+left,
dx: 0cm,
dy: 8cm,
stdBlock([
#grid(
columns:(auto, auto),
gutter: 1mm,
[
== #hlHeading([Folgen])
$ lim_(x->infinity) a_n $
- *Beschränkt*: $exists k in RR$ so dass $abs(a_n) <= k$
- $epsilon$-Interval: $x in (a - epsilon, a + epsilon) <=> abs(x - a) < epsilon$
- *Beweiß:* Induktion
- Hat min. eine konvergent Teilfolge
- *Monoton: steigen/fallend* $a_(n+1) gt.eq.lt a_n$
- *Beweisen:* Induktion mit \ $a_(n+1) gt.eq.lt a_n$ oder $a_(n+1) / a_(n) gt.lt 1 $ oder Umformung
- *Konvergent*:
- Es gibt $forall epsilon > 0$ eine Index $n_epsilon in NN$ sodass \ $abs(a_n - a) < epsilon space forall n > n_epsilon$
- Divergent $-> infinity$, wenn $forall k in RR : exists space a_n > k$
- Divergent $-> -infinity$, wenn $forall k in RR : exists space a_n < k$
- Genzwert is eindeutig
- *Konvergenz $a_n -> a$ $<=>$ beschränkt UND monoton*
- $<=>$ Alle Teilefolgen konvergent zu $a$
- Wenn Häufungspunk $eq.not$ $=>$ divergent
- Sandwitch-Theorem
- *Cauchyfolge*
Ein folge die diese Eigenschaft hat: \
$forall epsilon > 0 space exists N_epsilon in NN space forall m,n > N_epsilon : abs(a_n - a_m) < epsilon$ \
Cauchyfolge $<=>$ Konvergenz
],
grid.vline(stroke: 0.1mm + black, position: start),
pad([
=== Grenzwert Finden:
- "Bottom up" von Bekannten Ausdrücken
- Fixpunk Gleösenichung l $a = f(a)$ für $f(a_n)$
- Bernoulli-Ungleichung für $(a_n)^n$ \
$(1 + a)^n >= 1 + n a$ für $a >= -1$
- #MathAlignLeft($1 + u <= 1/(1-u), u < 1$)
Für Konvergent Folgen:
#grid(
columns: (auto, auto),
align: bottom,
gutter: 2mm,
[$ lim_(n->infinity) (a_n + b_n) = a + b $],
grid.cell(
rowspan: 2,
[$ lim_(n->infinity) (a_n / b_n) = a / b $],
),
MathAlignLeft($ lim_(n->infinity) (a_n dot b_n) = a dot b $),
MathAlignLeft($ lim_(n->infinity) sqrt(a_n) = sqrt(a) $),
MathAlignLeft($ lim_(n->infinity) abs(a_n) = abs(a) $),
MathAlignLeft($ lim_(n->infinity) c dot a_n = c dot lim_(n->infinity) a_n $),
)
== Spezifische Folgen
#grid(
columns: (auto, auto, auto),
column-gutter: 4mm,
row-gutter: 2mm,
align: bottom,
MathAlignLeft($ lim_(n->infinity) 1/n = 0 $),
MathAlignLeft($ lim_(n->infinity) q^n = 0 $),
MathAlignLeft($ lim_(n->infinity) q^n = 0 $),
grid.cell(colspan: 2, MathAlignLeft($ lim_(n->infinity) sqrt(n) = + infinity $)), [],
grid.cell(colspan: 2, MathAlignLeft($ lim_(n->infinity) k = k, k in RR $)), [],
grid.cell(colspan: 2, MathAlignLeft($ exp(x) = e^x = lim_(n->infinity) (1 + x/n)^n $))
)
== Teilfolgen
- Indizies müssen immer streng monoton \
wachsend sein. (z.B. is $a_1, a_1, a_2, a_2$ KEIN\
Teilfolge von $a_n$)
- Beschränkte $a_n$ $=>$ *min eine* \
konvergent Teilfolge
- Konvergent $a_n$ $=>$ *genau ein* Häufungspunkt
], left: 1mm)
)
])
)
#place(
top+left,
dx: 13cm,
dy: 0cm,
stdBlock([
== #hlHeading([Reihen])
Wenn $sum_(n=1)^infinity a_n$ konverigiert $=>$ $a_n$ Nullfolge \
Wenn $a_n$ keine Nullfolge $=>$ $sum_(n=1)^infinity$ divergent
=== Absolute Konvergenz
Bedeuted $sum_(n=1)^infinity abs(a_n) = a ==> sum_(n=1)^infinity a_n$ konvergent
$sum_(n=1)^infinity abs(a_n)$ beschränkt + (monoto steigended) $= sum_(n=1)^infinity abs(a_n)$
=== Partialsummen
Sind die Partialsummen von $sum_(k=1)^infinity abs(a)$ beschränkt\
$==>$ _Absolute Konvergent_
=== Cauchy-Kriterium
konvergent wenn $forall epsilon$ existiert ein $n_epsilon in NN$ \
sodass $abs(s_n - s_m) = abs(sum_(k=m+1)^(n)) < epsilon space$ \
$forall n_epsilon < m < n $
=== Leibnitzkriterium
Wenn monton fallend, $a_n >= 0$, Null folge dann
$sum_(n=1)^infinity (-1)^n dot a_n$ konvergent
=== Majorandenkriterium
Seien $a_n, b_n$ mit $abs(a_n) <= b_n space (forall n > N, N in NN)$
1. $sum_(n=0)^infinity b_n$ konvergent $==> sum_(n=0)^infinity abs(a_n)$ konvergent \
Suche $b_n$ für Konvergenz
2. $sum_(n=0)^infinity abs(a_n)$ divergent $==> sum_(n=0)^infinity b_n$ divergent \
Suche $abs(a_n)$ für Divergenz
Nützlich:
- Dreiecksungleichung
- $forall space n in NN$ \
$exists space k,q in RR$ \
für $q > 1$: $n^k <= q^n$ ab einem bestimmten.
=== Quotientenkriterium und Wurzelkriterium
1. $rho = lim_(n -> infinity) abs((a_(n+1))/(a_n)) $
2. $rho = lim_(n -> infinity) root(n, abs(a_(n+1))) $ \
(Stärker, am besten für $(...)^n$)
divergent: $rho > 1$, keine Aussage $rho = 1$, konvergent $rho < 1$
=== Spezifische Reihen
Geometrische Reihe: $sum_(n=0)^infinity q^n$
- konvergent $abs(q) < 1$, divergent $abs(q) >= 1$
- Grenzwert: (Muss $n=0$) $=1/(1-q)$
Harmonische Reihe: $sum_(n=0)^infinity 1/n = +infinity$
1. $e^x = sum_(n=0)^infinity (x^n)/(n!)$
2. $ln(x) = sum_(n=0)^infinity (-1)^n x^(n+1)$
])
)
#place(
top+left,
dx: 0cm,
dy: 20cm,
stdBlock([
== Kriterien Übersich für Reihen $sum_(n=0)^infinity a_n$
#line()
#grid(
columns: (auto, auto),
gutter: 3mm,
[
*Notwendinge Kriterien*\
($not$ Bedingung $=>$ div.)
- Cauchy-Kriterium
- #MathAlignLeft($ lim_(n->infinity)a_n = 0 $)
- Konvergenz der Partialsummen
- Beschränktheit der Partialsummen
],
[
*Hinreichende Kriterien* \
(Bedingung $=>$ konv.)
- Absolute Konvergenz
- Leibnitz-Kroterium
- Beschränktheit der Partialsummen
- Quotienten-/Wurzel-kriterium
- Majorandenkriterium
]
)
])
)
#pagebreak()
#place(
left+top,
dx: 0cm,
dy: 0cm,
stdBlock([
== #hlHeading([Funktionen])
=== Stetigkeit
Stetig an der stelle $x_0$ wenn: $ lim_(x->x_0+) f(x) = lim_(x->x_0-) f(x) =f(x_0) $
$f(x)$ muss nicht definiert sein an $x_0$
=== Differenzierbar
An der stelle $x_0$ wenn
#MathAlignLeft($
lim_(h -> 0) (f(x_0 + h)-f(x_0))/h =\
lim_(h -> 0) (f(x_0 - h)-f(x_0))/h = f'(x)
$)
definiert ist
])
)

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,5 @@
#import "lib/common_rewrite.typ" : *
#import "../lib/common_rewrite.typ" : *
#import "@preview/mannot:0.3.1"
#set page(
paper: "a4",
@@ -9,12 +10,15 @@
right: 5mm
),
flipped:true,
numbering: "— 1 —",
number-align: center
)
#set text(
size: 8pt,
footer: context [
#grid(
align: center,
columns: (1fr, 1fr, 1fr),
[#align(left, datetime.today().display("[day].[month].[year]"))],
[#align(center, counter(page).display("- 1 -"))],
[#align(right, image("../images/cc0.png", height: 5mm,))]
)
],
)
#place(top+center, scope: "parent", float: true, heading(
@@ -72,32 +76,6 @@
)
]
#bgBlock(fill: colorAllgemein)[
#subHeading(fill: colorAllgemein)[Trigonometrie]
]
#bgBlock(fill: colorAllgemein)[
#table(
inset: 1.5mm,
stroke: (thickness: 0.2mm),
columns: 4,
table.header(
[x], [deg], [cos(x)], [sin(x)]
),
[$0$], [$0°$], [$1$], [$0$],
[$pi/6$], [$30°$], [$sqrt(3)/2$], [$1/2$],
[$pi/4$], [$45°$], [$sqrt(2)/2$], [$sqrt(2)/2$],
[$pi/3$], [$60°$], [$1/2$], [$sqrt(3)/2$],
[$pi/2$], [$90°$], [$0$], [$1$],
[$2/3pi$], [$120°$], [$-1/2$], [$sqrt(3)/2$],
[$3/4pi$], [$135°$], [$-sqrt(2)/2$], [$sqrt(2)/2$],
[$5/6pi$], [$150°$], [$-sqrt(3)/2$], [$1/2$],
[$pi$], [$180°$], [$-1$], [$0$],
[$3/2pi$], [$270°$], [$0$], [$-1$],
[$2pi$], [$360°$], [$1$], [$0$]
)
]
#bgBlock(fill: colorAllgemein)[
#subHeading(fill: colorAllgemein)[Complexe Zahlen]
$z = r dot e^(phi i) = r (cos(phi) + i sin(phi))$
@@ -110,9 +88,13 @@
[$ cos(x) = (e^(i x) + e^(-i x))/(2) $]
)
#subHeading(fill: colorAllgemein)[Trigonmetrie]
*Additionstheorem* \
$sin(x+y) = cos(x)sin(y) + sin(x)cos(y)$ \
$cos(x+y) = cos(x)cos(y) - sin(x)sin(y)$ \
$tan(x) + tan(y) = (tan(a) + tan(b))/(1 - tan(a) tan(b))$ \
$arctan(x) + arctan(y) = arctan((x+y)/(1 - x y))$ \
*Doppelwinkel Formel* \
$cos(2x) = cos^2(x) - sin^2(x)$ \
$sin(2x) = 2sin(x)cos(x)$
@@ -467,9 +449,34 @@
)
])
#colbreak()
#bgBlock(fill: colorIntegral, [
#subHeading(fill: colorIntegral, [Integral])
Summen: $integral f(x) + g(x) d x = integral f(x) d x + integral g(x)$
Vorfaktoren: $integral lambda f(x) d x = lambda f(x) d x$
*Partial Integration*
$integral u(x) dot v'(x) d x = u(x)v(x) - integral u'(x) dot v(x)$
*Subsitution*
$integral_(x_0)^(x_1) f\(underbrace(g(x), "t")\) dot g'(x) d x$
1. Ersetzung: $ d x := d t dot 1/(g'(x))$ und $t := g(x)$
2. Grenzen: $t_0 = g(x_0)$, $t_1 = g(x_1)$
3. $x$-kürzen sich weg
])
]
#bgBlock(fill: colorAllgemein, [
#subHeading(fill: colorAllgemein, [Sin-Table])
#sinTable
])
#pagebreak()
== Folgen in $CC$
@@ -516,4 +523,24 @@ Konvergenz Radius $R = [0, infinity)$$$
z in CC &abs(z - z_0) > R &: "Divergent"
)$
$ R = limsup_(n -> infinity) $
$ R = limsup_(n -> infinity) $
#bgBlock(fill: colorIntegral, [
#subHeading(fill: colorIntegral, [Integral])
Summen: $integral f(x) + g(x) d x = integral f(x) d x + integral g(x)$
Vorfaktoren: $integral lambda f(x) d x = lambda f(x) d x$
*Partial Integration*
$integral u(x) dot v'(x) d x = u(x)v(x) - integral u'(x) dot v(x)$
*Subsitution*
$integral_(x_0)^(x_1) f\(underbrace(g(x), "t")\) dot g'(x) d x$
1. Ersetzung: $ d x := d t dot 1/(g'(x))$ und $t := g(x)$
2. Grenzen: $t_0 = g(x_0)$, $t_1 = g(x_1)$
3. $x$-kürzen sich weg
])

View File

@@ -1,7 +1,7 @@
#import "@preview/biceps:0.0.1" : *
#import "@preview/mannot:0.3.1"
#import "lib/styles.typ" : *
#import "lib/common_rewrite.typ" : *
#import "../lib/styles.typ" : *
#import "../lib/common_rewrite.typ" : *
#set page(
paper: "a4",

View File

@@ -0,0 +1,208 @@
#import "../lib/common_rewrite.typ" : *
#import "@preview/mannot:0.3.1"
#import "@preview/zap:0.5.0"
#show math.equation.where(block: true): it => math.inline(it)
#set page(
paper: "a4",
margin: (
bottom: 10mm,
top: 5mm,
left: 5mm,
right: 5mm
),
flipped:true,
footer: context [
#grid(
align: center,
columns: (1fr, 1fr, 1fr),
[#align(left, datetime.today().display("[day].[month].[year]"))],
[#align(center, counter(page).display("- 1 -"))],
[#align(right, image("../images/cc0.png", height: 5mm,))]
)
],
)
#let colorAllgemein = color.hsl(105.13deg, 92.13%, 75.1%)
#let colorEineTore = color.hsl(202.05deg, 92.13%, 75.1%)
#let colorZweiTore = color.hsl(235.9deg, 92.13%, 75.1%)
#let colorAnalyseVerfahren = color.hsl(280deg, 92.13%, 75.1%)
#let colorComplexAC = color.hsl(356.92deg, 92.13%, 75.1%)
#let colorMathe = color.hsl(34.87deg, 92.13%, 75.1%)
#place(top+center, scope: "parent", float: true, heading(
[Schaltungstheorie]
))
#columns(4, gutter: 2mm)[
#bgBlock(fill: colorEineTore)[
#subHeading(fill: colorEineTore)[Quelle Wandlung]
#zap.circuit({
import zap: *
set-style(scale: (x: 0.75, y:0.75), fill: none)
resistor("R1", (-2, 0), (0, 0))
vsource("V1", (-2, 0), (-2, -2))
wire((-2, -2), (0, -2))
node("n1", (0, 0), label: "1")
node("n2", (0, -2), label: "2")
})
]
#bgBlock(fill: colorAnalyseVerfahren)[
#subHeading(fill: colorAnalyseVerfahren)[Graphen und Matrizen]
$bold(i_b)$ (oder $bold(i)$): Zweigstrom-Vektor \
$bold(u_b)$ (oder $bold(u)$): Zweigspannungs-Vektor \
$bold(i_m)$ : Maschenstrom-Vektor \
#text(rgb(20%, 20%, 20%))[(Strom in einer viruellen Masche)] \
$bold(u_k)$ : Kontenspannungs-Vektor \
#text(rgb(20%, 20%, 20%))[(Spannung zwischen Referenzknoten und Knoten k)] \
#line(length: 100%, stroke: (thickness: 0.2mm))
Knotenzidenzmatrix $bold(A)$
$bold(A) : bold(i_k) -> text("Knotenstrombianz") = 0$ \
$bold(A^T) : bold(u_b)-> bold(u_k)$
$
bold(A) = quad mannot.mark(mat(
a_11, a_12, ..., a_(1m);
a_21, a_22, ..., a_(2m);
dots.v, dots.v, dots.down, dots.v;
a_(n 1), a_(n 2), ..., a_(n m)
), tag: #<1>)
#mannot.annot(<1>, pos:left, text(rgb("#404296"))[#rotate(-90deg)[$<-$ Knoten]], dx: 5mm)
#mannot.annot(<1>, pos:bottom, text(rgb("#404296"))[Zweige $->$], dy: -0.5mm)
a in {-1, 0, 1}
$
#line(length: 100%, stroke: (thickness: 0.2mm))
Mascheninsidenz Matrix $bold(B)$\
$bold(B) : bold(u_b) -> text("Zweigspannungsbilanz") = 0$ \
$bold(B^T) : bold(i_m) -> i_b$
$
bold(B) = quad mannot.mark(mat(
b_11, b_12, ..., b_(1m);
b_21, b_22, ..., b_(2m);
dots.v, dots.v, dots.down, dots.v;
b_(n 1), b_(n 2), ..., b_(n m)
), tag: #<1>)
#mannot.annot(<1>, pos:left, text(rgb("#404296"))[#rotate(-90deg)[$<-$ Maschen]], dx: 6mm)
#mannot.annot(<1>, pos:bottom, text(rgb("#404296"))[Zweige $->$], dy: -0.5mm)
b in {-1, 0, 1}
$
#line(length: 100%, stroke: (thickness: 0.2mm))
*KCL und KVL* \
KCL in Nullraum: $ bold(A) bold(i_b) = bold(0)$ \
KVL in Bildraum: $ bold(A^T) bold(u_k) = bold(u_b)$
KVL in Nullraum: $bold(B) bold(u_b) = bold(0)$ \
KCL in Bildraum: $bold(B^T) bold(i_m) = bold(i_b)$ \
*Tellegen'sche Satz* \
$bold(A B^T) = bold(B^T A) = 0$ \
$bold(u_b^T i_b) = 0$
]
#bgBlock(fill: colorAnalyseVerfahren)[
#subHeading(fill: colorAnalyseVerfahren)[Baumkonzept]
]
#bgBlock(fill: colorAnalyseVerfahren)[
#subHeading(fill: colorAnalyseVerfahren)[Machenstrom-/Knotenpotenzial-Analyse]
]
#bgBlock(fill: colorAnalyseVerfahren)[
#subHeading(fill: colorAnalyseVerfahren)[Reduzierte Knotenpotenzial-Analyse]
]
]
#pagebreak()
#place(bottom+left, scope: "parent", float: true)[
#bgBlock(fill: colorZweiTore)[
#subHeading(fill: colorZweiTore)[Umrechnung Zweitormatrizen]
#show table.cell: it => pad(),
#table(
columns: (auto, 1fr, 1fr, 1fr, 1fr, 1fr, 1fr),
align: center,
gutter: 0.1mm,
[In $->$], $bold(R)$, $bold(G)$, $bold(H)$, $bold(H')$, $bold(A)$, $bold(A')$,
$bold(R)$,
$mat(r_11, r_12; r_21, r_22)$,
$1/det(bold(G)) mat(g_22, -g_12; -g_21, g_11)$,
$1/h_22 mat(det(bold(H)), h_12; -h_21, 1)$,
$1/h'_11 mat(1, -h'_12; h'_21, det(bold(H')))$,
$1/a_21 mat(a_11, det(bold(A)); 1, a_22)$,
$1/a'_21 mat(a'_22, 1; det(bold(A')), a'_11)$,
$bold(G)$,
$1/det(bold(R)) mat(r_22, -r_12; -r_21, r_11)$,
$mat(g_11, g_12; g_21, g_22)$,
$1/h_11 mat(1, -h_12; h_21, det(bold(H)))$,
$1/h'_22 mat(det(bold(H')), h'_12; -h'_21, 1)$,
$1/a_12 mat(a_22, -det(bold(A)); -1, a_11)$,
$1/a'_12 mat(a'_11, -1; -det(bold(A')), a'_22)$,
$bold(H)$,
$1/r_22 mat(det(bold(R)), r_12; -r_21, 1)$,
$1/g_11 mat(1, -g_12; g_21, det(bold(G)))$,
$mat(h_11, h_12; h_21, h_22)$,
$1/det(bold(H')) mat(h'_22, -h'_12; -h'_21, h'_11)$,
$1/a_22 mat(a_12, det(bold(A)); -1, a_21)$,
$1/a'_11 mat(a'_12, 1; -det(bold(A')), a'_21)$,
$bold(H')$,
$1/r_11 mat(1, -r_12; r_21, det(bold(R)))$,
$1/g_22 mat(det(bold(G)), g_12; -g_21, 1)$,
$1/det(bold(H)) mat(h_22, -h_12; -h_21, h_11)$,
$mat(h'_11, h'_12; h'_21, h'_22)$,
$1/a_11 mat(a_21, -det(bold(A)); 1, a_12)$,
$1/a'_22 mat(a'_21, -1; det(bold(A')), a'_12)$,
$bold(A)$,
$1/r_21 mat(r_11, det(bold(R)); 1, r_22)$,
$1/g_21 mat(-g_22, -1; -det(bold(G)), -g_11)$,
$1/h_21 mat(-det(bold(H)), -h_11; -h_22, -1)$,
$1/h'_21 mat(1, h'_22; h'_11, det(bold(H')))$,
$mat(a_11, a_12; a_21, a_22)$,
$1/det(bold(A')) mat(a'_22, a'_12; a'_21, a'_11)$,
$bold(A')$,
$1/r_12 mat(r_22, det(bold(R)); 1, r_11)$,
$1/g_12 mat(-g_11, -1; -det(bold(G)), -g_22)$,
$1/h_12 mat(1, h_11; h_22, det(bold(H)))$,
$1/h'_12 mat(-det(bold(H')), -h'_22; -h'_11, -1)$,
$1/det(bold(A)) mat(a_22, a_12; a_21, a_11)$,
$mat(a'_11, a'_12; a'_21, a'_22)$,
)
]
]
#place(bottom+left, scope: "parent", float: true)[
#bgBlock(fill: colorAllgemein, [
#subHeading(fill: colorAllgemein, [Sin-Table])
#sinTable
])
]

BIN
src/images/cc0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

View File

@@ -25,4 +25,21 @@
#let MathAlignLeft(e) = {
align(left, block(e))
}
}
#let sinTable = [
#let data = json("../sintable.json")
#table(
columns: data.at("x").len() + 1,
rows: data.keys().len(),
stroke: none,
table.hline(stroke: (thickness: 0.3mm)),
fill: (x, y) => if (calc.rem(y, 2) == 0) { color.lighten(gray, 50%) } else { white },
..for (label) in data.keys() {
([*#eval(label, mode: "math")*], table.hline(stroke: (thickness: 0.3mm)), )
for i in data.at(label) {
(eval(i, mode: "math"),)
}
}
)
]

18
src/sintable.json Normal file
View File

@@ -0,0 +1,18 @@
{
"x": [
"0", "pi/6", "pi/4", "pi/3", "pi/2", "(2pi)/3", "(3pi)/4", "(5pi)/6", "pi", "(7pi)/6", "(5pi)/4", "(4pi)/3", "(3pi)/2", "(5pi)/3", "(7pi)/4", "(11pi)/6", "2pi"
],
"alpha": [
"0°", "30°", "45°", "60°", "90°", "120°", "135°", "150°", "180°", "210°", "225°", "240°", "270°", "300°", "315°", "330°", "360°"
],
"cos(x)": [
"1", "sqrt(3)/2", "sqrt(2)/2", "1/2", "0", "-1/2", "-sqrt(2)/2", "-sqrt(3)/2", "-1", "-sqrt(3)/2", "-sqrt(2)/2", "-1/2", "0", "1/2", "sqrt(2)/2", "sqrt(3)/2", "1"
],
"sin(x)": [
"0", "1/2", "sqrt(2)/2", "sqrt(3)/2", "1", "sqrt(3)/2", "sqrt(2)/2", "1/2", "0", "-1/2", "-sqrt(2)/2", "-sqrt(3)/2", "-1", "-sqrt(3)/2", "-sqrt(2)/2", "-1/2", "0"
],
"tan(x)": [
"0", "1/sqrt(3)", "1", "sqrt(3)", "x", "-sqrt(3)", "-1", "-1/sqrt(3)", "0", "1/sqrt(3)", "1", "sqrt(3)", "x", "-sqrt(3)", "-1", "-1/sqrt(3)", "0"
]
}