Added Qullen Plot
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 25s
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 25s
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
#import "../lib/common_rewrite.typ" : *
|
||||
#import "@preview/mannot:0.3.1"
|
||||
#import "@preview/zap:0.5.0"
|
||||
#import "@preview/cetz:0.4.2"
|
||||
#import "../lib/circuit.typ" : *
|
||||
#import "@preview/unify:0.7.1": num,qty,unit
|
||||
#import "@preview/cetz-plot:0.1.3"
|
||||
|
||||
#import "../lib/common_rewrite.typ" : *
|
||||
#import "../lib/circuit.typ" : *
|
||||
|
||||
#set math.mat(delim: "[")
|
||||
#show math.equation.where(block: true): it => math.inline(it)
|
||||
@@ -164,6 +166,13 @@
|
||||
$L_"ges" = L_1 parallel L_2$,
|
||||
$C_"ges" = C_1 parallel C_2$,
|
||||
$C_"ges" = C_1 + C_2$,
|
||||
|
||||
$U_"ges" = U_1 + U_2$,
|
||||
$U_"ges" = U_1 = U_2$,
|
||||
$I_"ges" = I_1 = I_2$,
|
||||
$I_"ges" = I_1 + I_2$,
|
||||
[In $U$-Richtung Addieren],
|
||||
[In $I$-Richtung Addieren],
|
||||
)
|
||||
]
|
||||
|
||||
@@ -189,6 +198,108 @@
|
||||
)
|
||||
]
|
||||
|
||||
// Lineare Quelle
|
||||
#bgBlock(fill: colorEineTore)[
|
||||
#subHeading(fill: colorEineTore)[Lineare Quelle]
|
||||
|
||||
#align(
|
||||
center+horizon,
|
||||
cetz.canvas({
|
||||
import cetz.draw: *
|
||||
import cetz-plot: *
|
||||
plot.plot(size: (3, 3), name: "plot",
|
||||
axis-style: "school-book",
|
||||
x-label: "u", y-label: "i",
|
||||
x-tick-step: none, y-tick-step: none,
|
||||
axes: ("u", "i"),
|
||||
x-min: -1, x-max: 2, x-grid: "both",
|
||||
y-min: -2, y-max: 1, y-grid: "both", {
|
||||
plot.add(((-2, -3), (3,2)))
|
||||
plot.add-anchor("u0", (1,0))
|
||||
plot.add-anchor("i0", (0,-1))
|
||||
})
|
||||
|
||||
content("plot.u0", $U_0$, anchor: "south", padding: .2)
|
||||
content("plot.i0", $-I_0$, anchor: "east", padding: .2)
|
||||
|
||||
mark("plot.u0", 0deg, symbol: "+", fill: black)
|
||||
mark("plot.i0", 0deg, symbol: "+", fill: black)
|
||||
|
||||
line("plot.i0", (horizontal: "plot.u0", vertical: "plot.i0"), "plot.u0", stroke: (dash: "dashed", paint: rgb("#005c00")))
|
||||
|
||||
content((horizontal: "plot.u0", vertical: "plot.i0"), anchor: "south-west", text(rgb("#005c00"))[$R$], padding: 0.1)
|
||||
})
|
||||
)
|
||||
|
||||
$U_0$: LL-Spannung ($i = 0 => u = U_0$) \
|
||||
$I_0$: KS-Strom ($u = 0 => i = -I_0$)
|
||||
|
||||
$R_i$: Innenwiderstand $R_i = U_0/I_0$
|
||||
|
||||
#table(
|
||||
columns: (1fr, 1fr),
|
||||
fill: (x, y) => if calc.rem(x, 2) == 1 { tableFillLow } else { tableFillHigh },
|
||||
inset: 3mm,
|
||||
align(center, [*$u$-gesteuert*]),
|
||||
align(center, [*$i$-gesteuert*]),
|
||||
|
||||
align(
|
||||
horizon+center,
|
||||
zap.circuit({
|
||||
import zap : *
|
||||
import cetz.draw
|
||||
|
||||
zap.resistor("R1", (1, 0), (1, -1.5), fill: none, width: 0.8, height: 0.3)
|
||||
zap.isource("I0", (0, 0), (0, -1.5), fill: none, scale: 0.6, i: (content: $-I_0$, distance: 6pt, label-distance: -11pt, anchor: "west", invert: true))
|
||||
node("N0", "R1.in")
|
||||
node("N0", "R1.out")
|
||||
|
||||
wire("I0.out", "R1.out", (rel: (0.5, 0)))
|
||||
wire("I0.in", "R1.in")
|
||||
wire("R1.in", (rel: (0.5, 0)), i: (content: $i$, invert: true))
|
||||
|
||||
cetz.draw.content((0.62, -0.75), [$R$])
|
||||
cetz.draw.set-style(mark: (end: ">", fill: black, scale: 0.6))
|
||||
cetz.draw.content((1.7, -0.75), [$u$])
|
||||
cetz.draw.line((1.5, -0.1), (1.5, -1.4), stroke: 0.5pt)
|
||||
})
|
||||
),
|
||||
align(
|
||||
horizon+center,
|
||||
zap.circuit({
|
||||
import zap : *
|
||||
import cetz.draw
|
||||
|
||||
zap.vsource("U0", (0, 0), (0, -1.5), fill: none, scale: 0.6, u: (content: $U_0$, distance: -4pt, label-distance: -8pt, anchor: "south-west", invert: true))
|
||||
zap.resistor("R1", (0, 0), (1.75, 0), fill: none, width: 0.8, height: 0.3,
|
||||
i: (content: $i$, invert: true, distance: 0.3)
|
||||
)
|
||||
wire((0, -1.5), (1.75, -1.5))
|
||||
|
||||
cetz.draw.content((0.62, -0.75), [$R$])
|
||||
cetz.draw.set-style(mark: (end: ">", fill: black, scale: 0.6))
|
||||
cetz.draw.content((1.95, -0.75), [$u$])
|
||||
cetz.draw.line((1.75, -0.1), (1.75, -1.4), stroke: 0.5pt)
|
||||
})
|
||||
),
|
||||
|
||||
[
|
||||
$u = R_i i + u_0$ \
|
||||
|
||||
],
|
||||
[
|
||||
$i = 1/R_i u - I_0$
|
||||
],
|
||||
|
||||
table.cell(colspan: 2)[
|
||||
#align($-->$)
|
||||
],
|
||||
table.cell(colspan: 2)[
|
||||
$<--$
|
||||
],
|
||||
)
|
||||
]
|
||||
|
||||
// Quell Wandlung
|
||||
#bgBlock(fill: colorEineTore)[
|
||||
#subHeading(fill: colorEineTore)[Quelle Wandlung]
|
||||
@@ -245,14 +356,14 @@
|
||||
|
||||
$R_i=1/G_i$
|
||||
|
||||
$r(i) = R_i i + U_0$
|
||||
$u = r(i) = R_i i + U_0$
|
||||
],
|
||||
[
|
||||
$I_0 = U_0 G_i$
|
||||
|
||||
$G_i=1/R_i$
|
||||
|
||||
$g(u) = G_i u + I_0$
|
||||
$i = g(u) = G_i u + I_0$
|
||||
]
|
||||
);
|
||||
]
|
||||
@@ -786,12 +897,16 @@
|
||||
$E_L = Phi^2/2L = (L i^2)/2$
|
||||
],
|
||||
[
|
||||
$C$: Admetanz $hat(=) G$
|
||||
$C$: Admittanz $hat(=) G$
|
||||
], [],
|
||||
[
|
||||
$L$: Impedanz $hat(=) R$
|
||||
]
|
||||
)
|
||||
|
||||
Admittanz: $Y = I/U$\
|
||||
Impedanz: $Z = U/I$
|
||||
|
||||
]
|
||||
|
||||
// Reaktive Dual Wandlung
|
||||
@@ -836,18 +951,26 @@
|
||||
U_"ges"^2 = U_1^2 + 2 U_1 U_2 + U_2^2 \
|
||||
tan(phi) = (U_2 sin(phi))/(U_1 + U_2 cos(phi))
|
||||
$
|
||||
]
|
||||
|
||||
*Levi's Lustig Leistung*
|
||||
#bgBlock(fill: colorComplexAC)[
|
||||
#subHeading(fill: colorComplexAC)[*Levi's Lustig Leistung*]
|
||||
|
||||
$(P =) space underline(S) = underline(U) dot underline(I)^*$\
|
||||
$P = 1/2 U dot I^*$\
|
||||
|
||||
#table(
|
||||
columns: (auto, 1fr, auto),
|
||||
fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillLow } else { tableFillHigh },
|
||||
[Scheinleitsung], [$(P_s =) space abs(underline(S))$], [$["VA"]$],
|
||||
[Wirkleistung], [$(P_w =) space P = "Real"(underline(S)) $], [$["W"]$],
|
||||
[Blindleistung], [$(P_b =) space Q = "Imag"(underline(S))$], [$["var"]$]
|
||||
[Wirkleistung], [$(P_w =) space P = "Re"{} $], [$["W"]$],
|
||||
[Blindleistung], [$(P_b =) space Q = "Im"{}$], [$["var"]$]
|
||||
)
|
||||
|
||||
Bei Wiederstand: $R$
|
||||
|
||||
$P_w = U_m^2 / 2R = (I_m^2 R)/2$
|
||||
|
||||
$U_"eff" = U_m/sqrt(2), I_"eff" = I_m / sqrt(2)$
|
||||
]
|
||||
|
||||
// Komplexe Zahlen
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
}
|
||||
|
||||
#let tableFillHigh = white
|
||||
#let tableFillLow = color.lighten(gray, 30%)
|
||||
#let tableFillLow = color.lighten(gray, 50%)
|
||||
|
||||
#let sinTable = [
|
||||
#let data = json("../sintable.json")
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#import "@preview/zap:0.5.0"
|
||||
#import "@preview/cetz-plot:0.1.3"
|
||||
|
||||
|
||||
#set page(width: auto, height: auto)
|
||||
|
||||
@@ -240,3 +242,49 @@
|
||||
rect((2.5, -1.2), (3, -1.5), fill: rgb("#fffc61"), stroke: none, name: "siO2")
|
||||
content("siO2", [oxide], anchor: "west", padding: 0.3)
|
||||
})
|
||||
|
||||
#let FetPlot() = {
|
||||
let u_gs = 1
|
||||
let beta = 1
|
||||
|
||||
cetz.canvas({
|
||||
import cetz-plot: plot
|
||||
import cetz: draw.content
|
||||
|
||||
cetz.draw.set-style(axes: (
|
||||
shared-zero: false,
|
||||
overshoot: 0.2,
|
||||
x: (mark: (end: ">", fill: black, scale: 0.6)),
|
||||
y: (mark: (end: ">", fill: black, scale: 0.6)),
|
||||
))
|
||||
|
||||
plot.plot(
|
||||
size: (2, 2),
|
||||
name: "plot",
|
||||
axis-style: "school-book",
|
||||
x-min: 0,
|
||||
x-tick-step: none,
|
||||
y-tick-step: none,
|
||||
x-label: $U_"GS"$,
|
||||
y-label: $U_"DS"$,
|
||||
{
|
||||
plot.add-fill-between(domain: (1, 6), ((1, 0), (1, 5)), u_gs => u_gs - u_t)
|
||||
|
||||
plot.add(domain: (0, 5), fill: true, axes: ("y", "x"), _ => 1)
|
||||
|
||||
plot.add(domain: (1, 6), fill: true, u_gs => u_gs - u_t)
|
||||
|
||||
plot.add-anchor("I", (0.5, 2.5))
|
||||
plot.add-anchor("II", (4.5, 1.5))
|
||||
plot.add-anchor("III", (2.5, 3.5))
|
||||
|
||||
plot.add-anchor("ut", (u_t, 0))
|
||||
}
|
||||
)
|
||||
content("plot.ut", $U_t$, anchor: "north", padding: 0.1)
|
||||
|
||||
content("plot.I", [I])
|
||||
content("plot.II", [II])
|
||||
content("plot.III", [III])
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user