________________________________________________________________________________
Inhalt....: Die Funktionen des 'elektro'-Packages
Kategorie.: Package
Mathematik: Sonstiges
MuPAD.....: 3.0.0
Datum.....: 2003-02-11
Autoren...: MuPAD Schule-Team <schule@mupad.de>
________________________________________________________________________________
Das elektro-Package
Das vorliegende Dokument beschreibt anhand von Beispielen den Umgang mit dem MuPAD
Package 'elektro'- und seinen Funktionen.
TEXTWIDTH := 65:
Wir laden das elektro-Package in MuPAD ein. Achtung: Das Package muss
dazu bereits auf Ihrem Rechner installiert sein. Lesen Sie dazu bitte die bei-
liegende Installationsanleitung bzw. kopieren Sie das Package kostenlos aus
dem Web unter http://www.schule.mupad.de/download..
package("elektro")
![]()
Hierdurch werden nur die Informationen über die Funktionen des Packages
geladen. Die Funktionen selbst werden erst mit Ihrem ersten Aufruf geladen.
Es sollte Sie daher nicht verwundern, wenn der erste Aufruf einer Funktion
etwas länger dauert.
Eine Kurzinformation zum elektro-Package erhalten Sie mit dem Befehl:
info(elektro)
elektro -- an unprotected identifier without properties
Für einen bequemen Zugriff auf die Funktionen des elektro-Packages
(denn wir möchten den Präfix elektro:: nicht immer mit eintippen müssen)
exportieren wir die Funktionen des elektro-Packages in den globalen
Namensraum:
export(elektro)
Error: argument 'elektro' is not a domain [export]
An dieser Stelle sei angemerkt, dass MuPAD strikt zwischen Groß- und Klein-
schreibung unterscheidet. Die Funktion elektro::RC kann also z.B. nicht
als elektro::rc geschrieben werden!
Kurvenverläufe für die Eingangsspannung:
Das Package elektro.mu bietet die Möglichkeit, das Verhalten einiger
Grundschaltkreise abhängig von ihrer Eingangsspannung zu untersuchen. Zu
diesem Zweck werden zunächst einige typische Kurvenformen für die
Eingangsspannung in Form von MuPAD-Prozeduren bereitgestellt.
Es stehen die Kurvenformen
Sinus, Dreieck, Saegezahn, Trapez und Impuls
zur Verfügung. Diese werden nun im einzelnen genauer beschrieben. Dabei
sind die in eckigen Klammern gestellten Parameter optional.
Sinus:
Aufruf: Sinus(Cycles = n, T = d, < , Uemax = u >)
Parameter: d: Periodendauer in Sekunden
n: Anzahl der Perioden
u: maximale Eingangsspannung in Volt (default: 10 Volt)
Ausgabe: Eine Liste, welche eine Liste enthält, die wiederum zwei Einträge
hat. Dabei ist der erstere der Zeitbereich t = a..b , in welchem
die Kurve verläuft, und der zweite eine Funktion in t , welche den
Kurvenverlauf beschreibt.
Beispiel: Wir wollen einen sinusförmigen Spannungsverlauf mit 3 Perioden
der Dauer 5 Sekunden und einer maximalen Spannung von 20
Volt erzeugen.
Sin := Sinus(Cycles = 3, T = 5, Uemax = 20)
Folgende Eingabe, bei der die Argumente lediglich Zahlen sind, führt zum
gleichen Ergebnis:
Sinus(3, 5, 20)
Lässt man das dritte Argument weg, so wird eine Kurve mit einer maximalen
Spannung von 10 Volt erzeugt.
Sinus(3, 5)
Zur Visualisierung der Kurve, erzeugen wir mit dem Befehl plot::Curve2d
ein grafisches Objekt, das wir dann mit dem Befehl plot auf dem Bildschirm
ausgeben.
c := plot::Curve2d([t, Sin[1][2]], t = Sin[1][1]):
plot(c):
Dreieck:
Aufruf: Dreieck(Cycles = n, T = d, < , Uemax = u >)
Parameter: d: Periodendauer in Sekunden
n: Anzahl der Perioden
u: maximale Eingangsspannung in Volt (default: 10 Volt)
Ausgabe: Eine Liste von Listen, die wiederum je zwei Einträge haben.
Davon ist jeweils der erstere der Zeitbereich t = a..b , in
welchem der entsprechende Kurvenabschnitt verläuft, und der
zweite eine Funktion in t , welche den Verlauf des Abschnitts
beschreibt.
Beispiel: Wir wollen einen Spannungsverlauf in Dreicksform mit einer
Periode der Dauer 6 Sekunden und einer maximalen Spannung
von 30 Volt erzeugen.
Dr := Dreieck(Cycles = 1, T = 6, Uemax = 30)
Folgende Eingabe, bei der die Argumente lediglich Zahlen sind, führt zum
gleichen Ergebnis:
Dreieck(1, 6, 30)
Lässt man das dritte Argument weg, so wird eine Kurve mit einer maximalen
Spannung von 10 Volt erzeugt.
Dreieck(1, 6)
Wir visualisieren den Spannungsverlauf nun. Dabei ist zu beachten, dass der
Kurvenverlauf aus n = 3 Abschnitten besteht.
delete c:
n := 3:
for i from 1 to n do
c[i] := plot::Curve2d([t, Dr[i][2]], t = Dr[i][1]):
end_for:
plot(c[i] $i = 1..n):
delete Dr:
Sägezahn:
Aufruf: Saegezahn(Cycles = n, T = d < , Uemax = u >)
Parameter: d: Periodendauer in Sekunden
n: Anzahl der Perioden
u: maximale Eingangsspannung in Volt (default: 10 Volt)
Ausgabe: Eine Liste von Listen, die wiederum je zwei Einträge haben.
Davon ist jeweils der erstere der Zeitbereich t = a..b , in
welchem der entsprechende Kurvenabschnitt verläuft, und der
zweite eine Funktion in t , welche den Verlauf des Abschnitts
beschreibt.
Beispiel: Wir wollen einen Spannungsverlauf in Sägezahnform mit 4
Perioden der Dauer 3 Sekunden und einer maximalen
Spannung von 20 Volt erzeugen.
Sa := Saegezahn(Cycles = 4, T = 3, Uemax = 20)
Folgende Eingabe, bei der die Argumente lediglich Zahlen sind, führt zum
gleichen Ergebnis:
Saegezahn(4, 3, 20)
Lässt man das dritte Argument weg, so wird eine Kurve mit einer maximalen
Spannung von 10 Volt erzeugt.
Saegezahn(4, 3)
Wir visualisieren den Spannungsverlauf nun. Dabei ist zu beachten, dass der
Kurvenverlauf aus n = 4 Abschnitten besteht.
delete c:
n := 4:
for i from 1 to n do
c[i] := plot::Curve2d([t, Sa[i][2]], t = Sa[i][1]):
end_for:
plot(c[i] $i = 1..n):
delete Sa:
Rechteck:
Aufruf: Rechteck(Cycles = n, T = d < , Uemax = u >)
Parameter: d: Periodendauer in Sekunden
n: Anzahl der Perioden
u: maximale Eingangsspannung in Volt (default: 10 Volt)
Ausgabe: Eine Liste von Listen, die wiederum je zwei Einträge haben.
Davon ist jeweils der erstere der Zeitbereich t = a..b , in
welchem der entsprechende Kurvenabschnitt verläuft, und der
zweite eine Funktion in t , welche den Verlauf des Abschnitts
beschreibt.
Beispiel: Wir wollen einen Spannungsverlauf in Rechteckform mit 2
Perioden der Dauer 7 Sekunden und einer maximalen
Spannung von 4 Volt erzeugen.
R := Rechteck(Cycles = 2, T = 7, Uemax = 4)
Folgende Eingabe, bei der die Argumente lediglich Zahlen sind, führt zum
gleichen Ergebnis:
Rechteck(2, 7, 4)
Lässt man das dritte Argument weg, so wird eine Kurve mit einer maximalen
Spannung von 10 Volt erzeugt.
Rechteck(2, 7)
Wir visualisieren den Spannungsverlauf nun. Dabei ist zu beachten, dass der
Kurvenverlauf aus n = 4 Abschnitten besteht.
delete c:
n := 4:
for i from 1 to n do
c[i] := plot::Curve2d([t, R[i][2]], t = R[i][1]):
end_for:
plot(c[i] $i = 1..n):
delete R:
Impuls:
Aufruf: Impuls(T = d < , Uemax = u >)
Parameter: d: Periodendauer in Sekunden
u: maximale Eingangsspannung in Volt (default: 10 Volt)
Ausgabe: Eine Liste mit 2 Listen, die wiederum je zwei Einträge haben.
Die erste innere Liste enthält als erstes den Zeitbereich
t = 0..b , in welchem die maximale Spannung Uemax
angenommen wird, und als zweites gerade die Spannung Uemax.
Die zweite innere Liste enthält als erstes den Zeitbereich
t = b..2b , in welchem die Spannung 0 Volt beträgt, und als
zweites die Spannung von 0 Volt.
Beispiel: Wir wollen einen Spannungsimpuls von 20 Volt und 7 Sekunden
Dauer erzeugen.
Imp := Impuls(T = 7, Uemax = 20)
Folgende Eingabe, bei der die Argumente lediglich Zahlen sind, führt zum
gleichen Ergebnis:
Impuls(7, 20)
Lässt man das zweite Argument weg, so wird eine Kurve mit einer maximalen
Spannung von 10 Volt erzeugt.
Impuls(7)
Wir visualisieren den Spannungsverlauf nun. Dabei ist zu beachten, dass der
Kurvenverlauf aus n = 2 Abschnitten besteht.
delete c:
n := 2:
for i from 1 to n do
c[i] := plot::Curve2d([t, Imp[i][2]], t = Imp[i][1]):
end_for:
plot(c[i] $i = 1..n):
delete Imp:
Selbstdefinierte Spannungsverläufe:
Wir können auch selber Kurvenverläufe für die Spannung definieren. Das
geschieht abschnittsweise in Form einer Liste von i Listen, die wiederum je
zwei Einträge haben. Davon ist jeweils der erstere der Zeitbereich t = a..b ,
in welchem der entsprechende Kurvenabschnitt verläuft, und der zweite ein
Ausdruck in t , welcher den Verlauf des Abschnitts beschreibt. Dabei ist
darauf zu achten, dass jeder Abschnit zu dem Zeitpunkt beginnt zudem
der Vorherige endet.
Beispiel: Wir wollen einen aus 4 Abschnitten bestehenden Spannungsverlauf
erzeugen. Dabei sollen der erste und der letzte Abschnitt Quadrate des Sinus
sein, während die anderen beiden Abschnitte linear verlaufen.
Sp := [[0..5, sin(2*t*PI/5)^2], [5..7, - (t - 5)/4],
[7..8, (t - 8)/2], [8..12, sin(8*t*PI/8)^2]]
Wir visualisieren den Spannungsverlauf nun. Dabei ist zu beachten, dass der
Kurvenverlauf aus n = nops(Sp) Abschnitten besteht.
delete c:
n := nops(Sp):
for i from 1 to n do
c[i] := plot::Curve2d([t, Sp[i][2]], t = Sp[i][1]):
end_for:
plot(c[i] $i = 1..n):
delete Sp:
Die Grundschaltungen :
Wir können wir nun untersuchen, wie verschiedene Grundschaltungen sich
verhalten, wenn man die oben beschriebenen Spannungsverläufe als Ein-
gangsspannung anlegt. Es stehen Prozeduren für folgende Grundschal-
tungen zur Verfügung:
RC: Reihenschaltung von Widerstand und Kondensator
RL: Reihenschaltung von Widerstand und Spule
RCL: Reihenschaltung von Widerstand, Kondensator und Spule
RrCLp: Reihenschaltung von Widerstand mit Parallelschaltung aus
Kondensator und Spule
MM_RLpRC: Parallelschaltung von Widerstand und Kondensator in Reihe
einerseits und Widerstand und Spule in Reihe andererseits
Diese Prozeduren werden nun im einzelnen genauer beschrieben. Dabei
sind die in eckigen Klammern gestellten Parameter optional. Es sei hier
schon darauf hingewiesen, dass die Prozedur MM_RLpRC sich von den
anderen insofern unterscheidet, dass sie die Vorgabe einiger Anfangswerte
ermöglicht.
Reihenschaltung von Widerstand und Kondensator:
Aufruf: RC(u <, R = r, C = c, PlotStyle = p >)
Parameter: u: Eine die Eingangsspannung beschreibende Kurvenform
wie oben beschrieben
R: Widerstand in Ohm (default = 1 Ohm)
C: Kapazität in Farad (default = 1 Farad)
p: Eines der Schlüsselwörter Colors , Grey oder Points zur
Bestimmung der Ausgabeart (default = Colors)
Ausgabe: Eine Grafik in einem Zeitbereich, welcher der Kurvenform u
entspricht. Dargestellt werden die Eingangsspannung u , die
Spannung am Kondensator Uc und der Strom durch den
Kondensator Ic.
Beispiel: Wir wählen für den Widerstand einen Wert von R = 2 Ohm und
für den Kondensator einen Wert von C = 0.2 Farad und wollen
die Schaltung mit einem Impuls von 5 Sekunden bei 20 Volt
beaufschlagen.
RC(Impuls(5, Uemax = 20), R=2, C=0.2, PlotStyle="Colors")
Verändern wir den Wert für PlotStyle , so erhalten wir folgende Ausgaben.
RC(Impuls(5, Uemax = 20),
R = 2, C = 0.2, PlotStyle = "Grey"):
RC(Impuls(5, Uemax = 20),
R = 2, C = 0.2, PlotStyle = "Points"):
Lassen wir nun das zweite bis vierte Argument weg, so werden automatisch
R = 1 Ohm, C = 1 Farad und PlotStyle = "Colors" gesetzt.
RC(Impuls(5, Uemax = 20))
Reihenschaltung von Widerstand und Spule:
Aufruf: RL(u <, R = r, L = l, PlotStyle = p >)
Parameter: u: Eine die Eingangsspannung beschreibende Kurvenform
wie oben beschrieben
R: Widerstand in Ohm (default = 1 Ohm)
L: Induktivität in Henry (default = 1 Henry)
p: Eines der Schlüsselwörter Colors , Grey oder Points
zur Bestimmung der Ausgabeart (default = Colors)
Ausgabe: Eine Grafik in einem Zeitbereich, welcher der Kurvenform u
entspricht. Dargestellt werden die Eingangsspannung u , die
Spannung an der Spule Ul und der Strom durch die Spule Il.
Beispiel: Wir wählen für den Widerstand einen Wert von R = 3 Ohm und
für die Spule einen Wert von L = 0.5 Henry und wollen die
Schaltung mit einer Rechteckspannung von 4 Perioden der
Dauer 20 Sekunden beaufschlagen, wobei die maximale
Eingangsspannung Uemax = 1 Volt betragen soll.
RL(Rechteck(Cycles=4, T=20, Uemax=1), R=3, L=0.5)
Reihenschaltung von Widerstand, Kondensator und Spule:
Aufruf: RCL(u <, R = r, C = c, L = l, PlotStyle = p >)
Parameter u: Eine die Eingangsspannung beschreibende Kurvenform
wie oben beschrieben
R: Widerstand in Ohm (default = 1 Ohm)
C: Kondensator in Farad (default = 1 Farad)
L: Induktivität in Henry (default = 1 Henry)
p: Eines der Schlüsselwörter Colors , Grey oder Points
zur Bestimmung der Ausgabeart (default = Colors)
Ausgabe: Eine Grafik in einem Zeitbereich, welcher der Kurvenform u
entspricht. Dargestellt werden die Eingangsspannung u , die
Spannung an der Spule Ul, die Spannung am Kondensator Uc
und der Gesamtstrom I.
Beispiel: Wir wählen für den Widerstand einen Wert von R = 2 Ohm, für
den Kondensator einen Wert von C = 0.2 Farad und für die
Spule einen Wert von L = 0.5 Henry und wollen die Schaltung
mit einem Impuls der Dauer 5 Sekunden bei 20 Volt beaufschlagen,
wobei die maximale Eingangsspannung Uemax = 7 Volt betragen
soll.
RCL(Impuls(5, Uemax = 7), R = 2, C = 0.2, L = 0.5):
Reihenschaltung von Widerstand mit Parallelschaltung aus
Kondensator und Spule:
Aufruf: RrCLp(u <, R = r, C = c, L = l, PlotStyle = p >)
Parameter: u: Eine die Eingangsspannung beschreibende Kurvenform
wie oben beschrieben
R: Widerstand in Ohm (default = 1 Ohm)
C: Kondensator in Farad (default = 1 Farad)
L: Induktivität in Henry (default = 1 Henry)
p: Eines der Schlüsselwörter Colors , Grey oder Points
zur Bestimmung der Ausgabeart (default = Colors)
Ausgabe: Eine Grafik in einem Zeitbereich, welcher der Kurvenform u
entspricht. Dargestellt werden die Eingangsspannung u , die
Spannung an Spule und Kondensator Uc = Ul, die Spannung
am Widerstand Ur, der Strom durch die Spule Il und der
Gesamtstrom I.
Beispiel: Wir wählen für den Widerstand einen Wert von R = 0.1 Ohm,
für den Kondensator einen Wert von C = 3 Farad und für die
Spule einen Wert von L = 4 Henry und wollen die Schaltung
mit 3 Perioden einer Sinusspannung von 20 Volt beaufschlagen,
wobei die maximale Eingangsspannung Uemax = 7 Volt
betragen soll.
RrCLp(Sinus(Cycles=3, T=2, Uemax=7), R=0.1, C=3, L=4):
Parallelschaltung
von Widerstand und Kondensator in Reihe einerseits
und Widerstand und Spule in Reihe andererseits:
Aufruf: MM_RLpRC(< Ue = u, R = r, C = c, L = l,
x01 = x1, x02 = x2, PlotStyle = p >)
Parameter: u: Eine die Eingangsspannung beschreibende Kurvenform
wie oben beschrieben (default = [[0..2*PI, sin(t)],
[2*PI..8, 0], [ 8..12, 0.8], [12..16, 0]])
R: Widerstände in Ohm (beide Widerstände haben den
gleichen Wert, default = 1 Ohm)
C: Kondensator in Farad (default = 1 Farad)
L: Induktivität in Henry (default = 1 Henry)
p: Eines der Schlüsselwörter Colors , Grey oder Points zur
Bestimmung der Ausgabeart (default = Colors)
x01: Anfangswert des Stroms Il durch die Spule zur Zeit
t = 0 Sekunden (default = 0 Ampere)
x02: Anfangswert der Spannung am Kondensator Uc zur Zeit
t = 0 Sekunden (default = 0 Volt)
Ausgabe: Eine Grafik in einem Zeitbereich, welcher der Kurvenform u
entspricht. Dargestellt werden die Eingangsspannung u , die
Spannung am Kondensator Uc und der Strom durch die Spule Il.
Beispiel: Wir wählen für die Widerstände einen Wert von R = 1 Ohm, für
den Kondensator einen Wert von C = 3 Farad und für die Spule
einen Wert von L = 4 Henry. Wir wollen die Schaltung mit 3
Perioden einer Sinusspannung beaufschlagen, wobei die
Periodendauer T = 12 Sekunden und die maximale Eingangs-
spannung Uemax = 7 Volt betragen soll. Für den Anfangswert
des Stroms Il durch die Spule zur Zeit t = 0 wählen wir x01 = 1
Ampere und für den Anfangswert der Spannung am Kondensator
Uc zur Zeit t = 0 wählen wir x02 = 3 Volt.
MM_RLpRC(Ue=Sinus(Cycles=3,T=12), R=1, C=3, L=4, x01=1, x02=3)
________________________________________________________________________________
Anmerkungen:
1. Weitere Anregungen finden Sie in der Buchreihe Mathematik 1 x anders. Dort werden unterschiedlichste
mathematischer Probleme mit MuPAD gelöst. Unter www.schule.mupad.de/literatur stehen sie
kostenfrei zum Download bereit.
_______________________________________________________________________________