Qucs - Kurze Beschreibung der mathematischen Funktionen
Author: Jens Flucke

### - Qucs -
Ziemlich universeller Schaltungssimulator

# Kurze Beschreibung der mathematischen Funktionen

Die folgenden Operationen und Funktionen können in Gleichungen von Qucs benutzt werden. Eine detaillierte Beschreibung entnehmen Sie bitte dem "Measurement Expressions Reference Manual". Parameter in rechteckigen Klammern "[]" sind optional.

## Operatoren

### Arithmetische Operatoren

`+x` | Unär Plus
`-x` | Unär Minus
`x+y` | Addition
`x-y` | Subtraktion
`x*y` | Multiplikation
`x/y` | Division
`x%y` | Modulo-Operation (Nachkommateil einer Division)
`x^y` | Potenz

### Logische Operatoren

`!x` | Negation
`x&&&y` | Und
`x||y` | Oder
`x^^y` | Exklusiv-Oder
`x?y:z` | Abkürzung für die Bedingung "if `x` then `y` else `z`"
`x==y` | Gleich
`x!=y` | Ungleich
`x<y` | Kleiner als
`x<=y` | Kleiner als oder gleich
`x>y` | Größer als
`x>=y` | Größer als oder gleich

## Alphabetische Liste der Funktionen

abs`` adjoint`` angle`` arccos`` arccosec`` arccot`` arcosech`` arcosh`` arcoth`` arcsec`` arcsin`` arctan`` arg`` arsech`` arsinh`` artanh`` avg`` besseli0`` besselj`` bessely`` ceil`` conj`` cos`` cosec`` cosech`` cosh`` cot`` coth`` cumavg`` cumprod`` cumsum`` dB`` dbm`` dbm2w`` ddx`` deg2rad`` det`` dft`` diff`` erf`` erfc`` erfcinv`` erfinv`` exp`` eye`` fft`` fftshift`` fix`` floor`` Freq2Time`` GaCircle`` GpCircle`` hypot`` idft`` ifft`` imag`` integrate`` interpolate`` inverse`` kbd`` length`` limexp`` linspace`` ln`` log10`` log2`` logspace`` mag`` max`` min`` Mu`` Mu2`` NoiseCircle`` norm`` phase`` PlotVs`` polar`` prod`` rad2deg`` random`` real`` rms`` Rollet`` round`` rtoswr`` rtoy`` rtoz`` runavg`` sec`` sech`` sign`` sin`` sinc`` sinh`` sqr`` sqrt`` srandom`` StabCircleL`` StabCircleS`` StabFactor`` StabMeasure`` stddev`` step`` stos`` stoy`` stoz`` sum`` tan`` tanh`` Time2Freq`` transpose`` twoport`` unwrap`` variance`` vt`` w2dbm`` xvalue`` ytor`` ytos`` ytoz`` yvalue`` ztor`` ztos`` ztoy``

## Mathematische Funktionen

### Vektoren und Matrizen: Generierung

`eye(n)` | n x n Einheits-Matrix
`length(y)` | Liefert die Länge des gegebenen Vektors
`linspace(von,bis,n)` | Erzeugt einen Vektor mit `n` linear gleichverteilten Werten zwischen `von` und `bis`, beide Werte mit eingeschlossen
`logspace(von,bis,n)` | Erzeugt einen Vektor mit `n` logarithmisch gleichverteilten Werten zwischen `von` und `bis`, beide Werte mit eingeschlossen

### Vektoren und Matrizen: Grundlegende Matrix-Funktionen

`adjoint(x)` | Transponierte und konjungiert komplexe Matrix zu `x`
`det(x)` | Determinante von `x`
`inverse(x)` | Inverse Matrix zu `x`
`transpose(x)` | Transponierte Matrix zu `x` (Zeilen und Spalten vertauscht)

### Elementare mathematische Funktionen: Grundlegende reelle und komplexe Funktionen

`abs(x)` | Absoluter Wert, Betrag einer komplexen Zahl
`angle(x)` | Phase einer komplexen Zahl im Bogenmaß
`arg(x)` | Gleicher Ausdruck wie `angle(x)`
`conj(x)` | Konjungiert komplexe Werte der Zahl `x`
`deg2rad(x)` | Umrechnung von Grad nach Bogenmaß
`hypot(x,y)` | Euklidische Distanzfunktion
`imag(x)` | Imaginärteil einer komplexen Zahl
`mag(x)` | Gleicher Ausdruck wie `abs(x)`
`norm(x)` | Quadrat von `mag(x)`
`phase(x)` | Phase einer komplexen Zahl in Grad
`polar(m,p)` | Liefert komplexe Zahl mit gegebenem Betrag `m` und Phase `p`
`rad2deg(x)` | Umrechnung von Bogenmaß nach Grad
`real(x)` | Realteil einer komplexen Zahl
`sign(x)` | Berechnet die Signumfunktion
`sqr(x)` | Quadrat (`x` zur Potenz zwei)
`sqrt(x)` | Quadratwurzel
`unwrap(p[,tol[,step]])` | Gleicht Phasensprünge von `p` (im Bogenmaß -- Standardsprungweite `step` ist 2*pi) aus und verwendet dabei die optionale Toleranzschwelle `tol` (Standardwert ist pi)

### Elementare mathematische Funktionen: Exponential- und Logarithmus-Funktionen

`exp(x)` | Exponentialfunktion zur Basis e
`limexp(x)` | Begrenzte Exponentialfunktion
`log10(x)` | Dekadischer Logarithmus
`log2(x)` | Binärer Logarithmus
`ln(x)` | Natürlicher Logarithmus

### Elementare mathematische Funktionen: Trigonometrie

`cos(x)` | Kosinus
`cosec(x)` | Kosekans
`cot(x)` | Kotangens
`sec(x)` | Sekans
`sin(x)` | Sinus
`tan(x)` | Tangens

### Elementare mathematische Funktionen: Inverse trigonometrische Funktionen

`arccos(x)` | Arkuskosinus
`arccosec(x)` | Arkuskosekans
`arccot(x)` | Arkuskotangens
`arcsec(x)` | Arkussekans
`arcsin(x)` | Arkussinus
`arctan(x[,y])` | Arkustangens

### Elementare mathematische Funktionen: Hyperbolische Funktionen

`cosh(x)` | Kosinus hyperbolicus
`cosech(x)` | Kosekans hyperbolicus
`coth(x)` | Kotangens hyperbolicus
`sech(x)` | Sekans hyperbolicus
`sinh(x)` | Sinus hyperbolicus
`tanh(x)` | Tangens hyperbolicus

### Elementare mathematische Funktionen: Inverse hyperbolische Funktionen

`arcosh(x)` | Area Kosinus hyperbolicus
`arcosech(x)` | Area Kosekans hyperbolicus
`arcoth(x)` | Area Kotangens hyperbolicus
`arsech(x)` | Area Sekans hyperbolicus
`arsinh(x)` | Area Sinus hyperbolicus
`artanh(x)` | Area Tangens hyperbolicus

### Elementare mathematische Funktionen: Runden

`ceil(x)` | Rundet zur nächstgrößeren Ganzzahl
`fix(x)` | Schneidet Nachkommastellen von reellen Zahlen ab
`floor(x)` | Rundet zur nächstkleineren Ganzzahl
`round(x)` | Rundet zur nächsten Ganzzahl

### Elementare mathematische Funktionen: Spezielle Funktionen

`besseli0(x)` | Modifizierte Besselfunktion nullter Ordnung
`besselj(n,x)` | Besselfunktion erster Art und `n`-ter Ordnung
`bessely(n,x)` | Besselfunktion zweiter Art und `n`-ter Ordnung
`erf(x)` | Fehlerfunktion
`erfc(x)` | Komplementäre Fehlerfunktion
`erfinv(x)` | Inverse Fehlerfunktion
`erfcinv(x)` | Inverse komplementäre Fehlerfunktion
`sinc(x)` | Sinc-Funktion (sin(`x`)/`x` und 1 bei `x`=0)
`step(x)` | Sprungfunktion

### Datenanalyse: Grundlegende Statistik-Funktionen

`avg(x[,Bereich])` | Arithmetischer Mittelwert aus den Werten in einem Vektor; wenn ein `Bereich` angegeben wird, dann muss `x` eine einfache Datenabhängigkeit aufweisen
`cumavg(x)` | Kumulativer Mittelwert der Werte eines Vektors
`max(x,y)` | Liefert den größeren der beiden Werte `x` und `y`
`max(x[,Bereich])` | Maximaler Wert in einem Vektor `x`; wenn ein `Bereich` angegeben wird, dann muss `x` eine einfache Datenabhängigkeit aufweisen
`min(x,y)` | Liefert den kleineren der beiden Werte `x` und `y`
`min(x[,Bereich])` | Minimaler Wert in einem Vektor `x`; wenn ein `Bereich` angegeben wird, dann muss `x` eine einfache Datenabhängigkeit aufweisen
`rms(x)` | Effektivwert aus den Werten eines Vektors
`runavg(x)` | Gleitender Mittelwert der Werte eines Vektors
`stddev(x)` | Standardabweichung der Werte eines Vektors
`variance(x)` | Varianz der Werte eines Vektors
`random()` | Zufallszahl zwischen 0.0 und 1.0
`srandom(x)` | Anfangswert für Zufallsgenerator

### Datenanalyse: Grundlegende Operationen

`cumprod(x)` | Kumulatives Produkt der Werte in einem Vektor
`cumsum(x)` | Kumulative Summe der Werte in einem Vektor
`interpolate(f,x[,n])` | Berechnet eine Interpolation der reellen Funktion `f(x)`an `n` äquidistanten Punkten; letzterer Parameter kann weggelassen werden und erhält dann einen vernünftigen Standardwert
`prod(x)` | Produkt der Werte in einem Vektor
`sum(x)` | Summe der Werte in einem Vektor
`xvalue(f,yval)` | Liefert den X-Wert, der mit dem nächstliegenden Y-Wert zu `yval` aus dem Vektor `f` assoziiert ist; dafür muss der Vektor `f` eine einfache Datenabhängigkeit besitzen
`yvalue(f,xval)` | Liefert den Y-Wert des gegebenen Vektors `f`, der dem X-Wert `xval` am nächsten liegt; dafür muss der Vektor `f` eine einfache Datenabhängigkeit besitzen

### Datenanalyse: Differentiation und Integration

`ddx(expr,var)` | Differenziert den mathematischen Ausdruck `expr` bezüglich der Variable `var`
`diff(y,x[,n])` | Differenziert `n`-mal den Vektor `y` in Bezug auf `x`. Wird `n` weggelassen, entspricht dies `n`=1.
`integrate(x,h)` | Integriert den Vektor `x` numerisch bei angenommener konstanter Schrittweite `h`

### Datenanalyse: Signalverarbeitung

`dft(x)` | Berechnet die diskrete Fourier-Transformation (DFT) des Vektors `x`
`fft(x)` | Berechnet die schnelle Fourier-Transformation (FFT) des Vektors `x`
`fftshift(x)` | Schiebt die Werte des FFT-Vektors `x` so, dass die Frequenz 0 in die Mitte des Vektors verschoben wird
`Freq2Time(V,f)` | Berechnet die inverse diskrete Fourier-Transformation der Funktion `V(f)` und interpretiert die Werte physikalisch
`idft(x)` | Berechnet die inverse diskrete Fourier-Transformation (IDFT) des Vektors `x`
`ifft(x)` | Berechnet die inverse schnelle Fourier-Transformation (IFFT) des Vektors `x`
`kbd(x[,n])` | Kaiser-Bessel Fensterfunktion
`Time2Freq(v,t)` | Berechnet die diskrete Fourier-Transformation der Funktion `v(t)` und interpretiert die Werte physikalisch

## Elektrotechnische Funktionen

### Umrechnung von Maßeinheiten

`dB(x)` | Spannungsdezibel
`dbm(x)` | Wandelt Spannung in Leistung in dBm um
`dbm2w(x)` | Wandelt Leistung in dBm in Leistung in Watt um
`w2dbm(x)` | Wandelt Leistung in Watt in Leistung in dBm um
`vt(t)` | Temperaturspannung für eine gegebene Temperatur `t` in Kelvin

### Reflexionskoeffizienten und Stehwellenverhältnisse

`rtoswr(x)` | Konvertiert einen Reflexionsfaktor in das (Spannungs-)Stehwellenverhältnis
`rtoy(x[,zref])` | Konvertiert einen Reflexionsfaktor (Referenzimpedanz ist standardmäßig 50 Ohm) in eine Admittanz
`rtoz(x[,zref])` | Konvertiert einen Reflexionsfaktor (Referenzimpedanz ist standardmäßig 50 Ohm) in eine Impedanz
`ytor(x[,zref])` | Konvertiert eine Admittanz in einen Reflexionsfaktor (Referenzimpedanz ist standardmäßig 50 Ohm)
`ztor(x[,zref])` | Konvertiert eine Impedanz in einen Reflexionsfaktor (Referenzimpedanz ist standardmäßig 50 Ohm)

### Transformation von N-Tor-Matrizen

`stos(s,zref[,z0])` | Konvertiert die S-Parameter-Matrix in eine S-Parameter-Matrix mit unterschiedliche(r/n) Referenzimpedanz(en)
`stoy(s[,zref])` | Konvertiert die S-Parameter-Matrix in die Y-Parameter-Matrix
`stoz(s[,zref])` | Konvertiert die S-Parameter-Matrix in die Z-Parameter-Matrix
`twoport(m,von,nach)` | Konvertiert eine gegebene 2-Port-Matrix von einer Darstellungsform in eine andere, mögliche Werte für `von` und `nach` sind "Y", "Z", "H", "G", "A", "S" und "T".
`ytos(y[,z0])` | Konvertiert die Y-Parameter-Matrix in die S-Parameter-Matrix
`ytoz(y)` | Konvertiert die Y-Parameter-Matrix in die Z-Parameter-Matrix
`ztos(z[,z0])` | Konvertiert die Z-Parameter-Matrix in die S-Parameter-Matrix
`ztoy(z)` | Konvertiert die Z-Parameter-Matrix in die Y-Parameter-Matrix

### Verstärker

`GaCircle(s,Ga[,Winkel])` | Kreis(e) mit konstanter verfügbarer Leistungsverstärkung `Ga` in der Quellebene
`GpCircle(s,Gp[,Winkel])` | Kreis(e) mit konstanter Leistungsverstärkung `Gp` in der Lastebene
`Mu(s)` | Mu Stabilitätsfaktor der Zweitor-S-Parameter-Matrix `s`
`Mu2(s)` | Mu' Stabilitätsfaktor der Zweitor-S-Parameter-Matrix `s`
`NoiseCircle(Sopt, Fmin,Rn,F[,Winkel])` | Kreise mit konstanten Rauschzahlen `F` (kann eine Konstante oder ein Vektor sein). `Winkel` spezifiziert die Winkel in Grad, die z.B. mit `linspace(0,360,100)` erzeugt wurden. Wenn `Winkel` eine Zahl ist, dann steht diese für die Anzahl der gleichverteilten Kreissegmente. Wenn der Parameter weggelassen wurde, dann wird ein vernünftiger Standardwert eingesetzt
`PlotVs(Daten,Abh)` | Liefert Daten zurück, die auf dem Vektor oder Matrizenvektor `Daten` basieren, in Abhängigkeit von dem gegebenen Vektor `Abh`. Beispiel: `PlotVs(Gain,frequency/1e9)`
`Rollet(s)` | Rollet Stabilitätsfaktor der Zweitor-S-Parameter-Matrix `s`
`StabCircleL(s[,Winkel])` | Stabilitätskreise in der Lastebene
`StabCircleS(s[,Winkel])` | Stabilitätskreise in der Quellebene
`StabFactor(s)` | Stabilitätsfaktor der Zweitor-S-Parameter-Matrix `s`. Synonym für `Rollet()`
`StabMeasure(s)` | Stabilitätsmaß B1 einer Zweitor-S-Parameter-Matrix

## Schreibweisen

### Intervalle

`LO:HI` | Intervall von `LO` bis `HI`
`:HI` | Bis zu `HI`
`LO:` | Von `LO` an
`:` | Keine Intervallgrenzen

### Matrizen und ihre Elemente

`M` | Die gesamte Matrix `M`
`M[2,3]` | Element in der 2. Zeile und der 3. Spalte der Matrix `M`
`M[:,3]` | Vektor bestehend aus der 3. Spalte der Matrix `M`

### Zahlen, Vektoren, Matrizen

`2.5` | Reelle Zahl
`1.4+j5.1` | Komplexe Zahl
`[1,3,5,7]` | Vektor
`[11,12;21,22]` | Matrix

### Zahlenendungen

`E` | exa, * 1e+18
`P` | peta, * 1e+15
`T` | tera, * 1e+12
`G` | giga, * 1e+9
`M` | mega, * 1e+6
`k` | kilo, * 1e+3
`m` | milli, * 1e-3
`u` | micro, * 1e-6
`n` | nano, * 1e-9
`p` | pico, * 1e-12
`f` | femto, * 1e-15
`a` | atto, * 1e-18

### Wertenamen

`S[1,1]` | S-Parameterwert
knotenname.`V` | DC-Spannung am Knoten knotenname
name.`I` | DC-Strom durch die Komponente name
knotenname.`v` | AC-Spannung am Knoten knotenname
name.`i` | AC-Strom durch die Komponente name
knotenname.`vn` | AC-Rauschspannung am Knoten knotenname
name.`in` | AC-Rauschstrom durch die Komponente name
knotenname.`Vt` | Transientenspannung am Knoten knotenname
name.`It` | Transientenstrom durch die Komponente name

Bitte beachten: Alle Spannungen und Ströme sind Spitzenwerte.
Rauschspannungen sind Effektivwerte in 1 Hz Bandbreite.

## Konstanten

`i, j` | Imaginäre Einheit ("Quadratwurzel von -1")
`pi` | Kreiszahl π = 4*arctan(1) = 3.14159...
`e` | Eulerzahl = 2.71828...
`kB` | Boltzmann-Konstante = 1.38065e-23 J/K
`q` | Elementarladung = 1.6021765e-19 C

zurück nach oben