Sie sind auf Seite 1von 106

Institut fr Grundlagen der Verfahrenstechnik und Anlagentechnik Technische Universitt Graz

EDV PROGRAMMIERSPRACHE TEIL II: MATHCAD 2001 PROFESSIONAL

Ao. Univ.-Prof. Dipl.-Ing. Dr. Martin Pflgl


Graz 1999, 2001

Inhaltsverzeichnis:
Einleitung Dokumentfenster ..................................................................................... 1 Werkzeugfenster ..................................................................................... 2 Bereiche eines Mathcad-Dokumentes .................................................... 3 1) Definitionsgleichung ............................................................................... 4 2) Numerische Berechnungsgleichung ..................................................... 4 3) Symbolisches Rechnen 3.1) Symbolische Berechnungsgleichung ............................................... 7 3.2) Bentzung des Symbolic-Mens ................................................... 12 4) Vektoren und Matrizen .......................................................................... 14 4.1) Operatoren ..................................................................................... 17 4.2) Funktionen 4.2.1) Gre .................................................................................... 18 4.2.2) Spezielle Matrizen ................................................................. 19 4.2.3) Funktionen zum Bilden von Matrizen .................................... 20 4.2.4) Charakteristische Matrixgren ............................................ 22 4.2.5) Eigenwerte und Eigenvektoren ............................................. 23 4.2.6) Zerlegung von Matrizen ........................................................ 24 4.2.7) Sortierfunktionen ................................................................... 27 5) Schrittweise Berechnung 5.1) Eine Variable .................................................................................. 28 5.2) Mehrere Variable ........................................................................... 29 5.3) Vektor ............................................................................................ 30 6) Funktionen 6.1) Mathcad-Funktionen 6.1.1) Transzendente Funktionen ................................................... 6.1.2) Funktionen mit komplexen Zahlen ........................................ 6.1.3) Stckweise kontinuierliche Funktionen ................................. 6.1.4) Rundungsfunktionen ............................................................. 6.1.5) Funktionen der Zahlentheorie und Kombinatorik .................. 6.1.6) Diskrete Transformationsfunktionen ..................................... 6.1.7) Interpolations- und Vorhersage-Funktionen ......................... 6.1.8) Regression ............................................................................ 6.1.9) Zugriff auf Textdateien .......................................................... 6.1.10) Weitere Funktionen ............................................................. 32 33 33 34 34 35 36 37 38 39

6.2) Definition einer Bentzerfunktion durch einen Ausdruck ................ 40

7) Programmierung .................................................................................... 41 7.1) Bedingungsanweisungen ............................................................... 42 7.2) Schleifenanweisungen 7.2.1) While-Schleife ....................................................................... 44 7.2.2) For-Schleife ........................................................................... 47 7.3) Rekursive Programmierung ............................................................ 49 7.4) Programmablauf-Kontrolle 7.4.1) Vorzeitige Beendigung eines Schleifendurchlaufes .............. 50 7.4.2) Vorzeitige Beendigung einer Schleife ................................... 51 7.4.3) Vorzeitige Beendigung eines Programms ............................. 52 7.4.4) Fehlerbehandlung ................................................................. 53 8) Gleichungslsung 8.1) Lineare Gleichungen 8.1.1) Mittels invertierter Koeffizientenmatrix .................................. 56 8.1.2) Mittels der Funktion lsolve .................................................... 56 8.2) Nichtlineare Gleichungen 8.2.1) root-Funktion ........................................................................ 57 8.2.2) polyroots-Funktion ............................................................... 60 8.2.3) SOLVE-Block ........................................................................ 61 9) Differentialgleichungen 9.1) Gewhnliche Differentialgleichungen 9.1.1) Lsung einer DGL mittels SOLVE-Block .............................. 64 9.1.2) Differentialgleichungs-Lsungsfunktionen 9.1.2.1) Anfangswertprobleme 9.1.2.1.1) Runge-Kutta-Methode 4. Ordnung ......................... 66 9.1.2.1.2) Spezialisierte Differentialgleichungslser ............... 71 9.1.2.2) Randwertprobleme 9.1.2.2.1) Vorgegebene Randwerte an den Bereichsenden ... 73 9.1.2.2.2) Vorgegebene Werte an den Bereichsenden und in einem Zwischenpunkt ................................. 75 9.2) Partielle Differentialgleichungen 9.2.1) Alle Randwerte = 0.................................. .............................. 78 9.2.2) Randwerte nicht gleich gro ................................................. 80 10) Zweidimensionale Diagramme 10.1) x-y-Diagramm ............................................................................... 82 Zoomen eines Diagrammbereiches .............................................. 86 Auslesen von Plot-Koordinaten ..................................................... 87 10.2) Polar-Diagramm ........................................................................... 88 11) Dreidimensionale Diagramme Erstellen mit dem 3D-Plot-Helfer ........................................................... 91 11.1) Oberflchen-Diagramm ................................................................ 96 11.2) Kontur-Diagramm ......................................................................... 98 11.3) 3D-Balken-Diagramm ................................................................... 99 11.4) 3D-Punkthaufen-Diagramm ........................................................ 100 11.5) Vektorfeld-Diagramm .................................................................. 101

-1-

Mathcad 2000 Professional Einfhrung


Mathematik-Software fr numerische symbolische Berechnungen

Mathcad-Arbeitsblatt nach dem Starten

Definition eines neuen Dokumentes Laden einer bestehenden Datei Sichern eines Mathcad-Dokumentes Schlieen eines Dokumentes Dateityp eines Mathcad-Dokumentes

<Strg>N <Strg>O <Strg>S <Strg>W .mcd

-2-

-3-

Mathcad-Dokument

Berechnungsbereiche Definitionsgleichung := Numerische Berechnungsgleichung = Symbolische Berechnungsgleichung Bedingungsgleichung in Lsungs-blcken = > < Lokale Definitionsgleichung in ProgrammBereichen

Diagrammbereiche x-y-Diagramme @ Polar-Diagramme <Strg>7

Textbereiche Textfeld "

Oberflchendiagramme <Strg>2 Kontur-Diagramme <Strg>5

3D-Balkendiagramme

3D-Punkthaufendiagramme VektorfeldDiagramme Animation Zeichnungen (Sketches)

-4-

1) Definitionsgleichung Globale
Gilt fr das gesamte Dokument

Definition

Lokale

Gilt ab der Definition bis zur nchsten Definition der gleichen Gre

Globale Definition

def ausdr
Arithmetischer Ausdruck von Konstanten und anderen globalen Gren

Name einer einfachen Gre oder Funktion

Lokale Definition

def := ausdr
von definierten Gren und Funktionen von definierten Gren oder von Parametern einer Funktion oder

Name der definierten Gre Arithmetischer Ausdruck


(Unterscheidung zwischen Gro- und Kleinschreibung, griechische Buchstaben, Tiefstellen durch . z.B. a.1 a1)

Bereichsausdruck Standardeinstellung ORIGIN 0 Standardeinstellung ORIGIN 0 ai,k:= ausdr var := awert,nwert;ewert fun(par1,par2,...) := ausdr

Einfache Gre Vektor


(Matrix mit einer Spalte)

<Strg>M Matrix <Strg>M Indizierte Gre [ Bereichsvariable ; Funktion

2) Numerische Berechnungsgleichung def = Ergebnis ausdr = Ergebnis

-5-

-6-

-7-

3) Symbolisches Rechnen
Mathcad enthlt einen Teil des Software-Pakets MAPLE, der fr das symbolische Rechnen verwendet wird. Der symbolische Prozessor wird beim Start von Mathcad 2001 Professional automatisch geladen.

3.1) Symbolische Berechnungsgleichung ausdr Ergebnis ausdr Schlsselwort Ergebnis <Strg>. <Strg>< >.

-8-

Anpassung der symbolischen Berechnung durch Schlsselwrter: Schlsselwort complex float,m simplify Funktion
Symbolische Berechnung in der komplexen Zahlenebene, Ergebnis ist in der Form a+ib Ergebnis ist Fliekommawert mit m Ziffern 1m250 Arithmetische Vereinfachung durch Krzen gemeinsamer Faktoren und Verwendung von Identitten der trigoniometrischen und inversen Funktionen, zustzlich werden alle Unbekannten als reellwertig angenommen, oder zustzlich werden alle Unbekannten als reellwertig im Bereich zwischen den reellen Zahlen a und b angenommen, oder zustzlich erfolgt die Vereinfachung nur unter der Verwendung der Identitten

simplify, assume=real simplify, assume= RealRange(a,b) simplify,trig

sin( x) 2 + cos( x) 2 = 1
expand[,ausdr] factor[,ausdr]

und

cosh( x) 2 sinh( x) 2 = 1

Entwickeln aller Produkte und Potenzen von Summen in einen Ausdruck auer fr den Subausdruck ausdr Faktorisierung in ein Produkt, wenn mglich, unter Bercksichtigung von ausdr als eine einzelne Gre oder mehrere Gren, getrennt durch Kommas Lsung einer Gleichung fr die Variable var, oder eines Gleichungssystems fr die Variablen im Vektor var Zusammenfassung gleicher Ausdrcke im Hinblick auf die Variablen oder Unterausdrcke var1 bis varn Ermittlung der Koeffizienten eines Ausdrucks, wenn dieser als Polynom in der Variablen oder im Unterausdruck var dargestellt wird Ersetzen der Variablen var1 durch die Variable oder den Ausdruck var2 (<Strg>+ fr fettgedrucktes =) den Punkt z mit der Ordnung m Standardeinstellung: z = 0 und m = 6

solve,var collect, var1 ... varn coeffs,var

substitute, var1=var2

series,var[=z,m] Reihenentwicklung einer oder mehrer Variablen var um

-9-

Schlsselwort convert, parfrac,var fourier,var

Funktion
Partialbruchzerlegung nach der im Nenner des Ausdrucks stehenden Variablen var Fourier-Transformation eines Ausdruckes bezglich der Variablen var in eine Funktion der Variablen
+

f (t ) e

i t

dt

invfourier,var

Inverse Fourier-Transformation eines Ausdruckes bezglich der Variablen var in eine Funktion der Variablen t

1 2
laplace,var

F ( ) e

i t

Laplace-Transformation eines Ausdruckes bezglich der Variablen var in eine Funktion der Variablen s
+ 0

f (t ) e

s t

dt

invlaplace,var

Inverse Laplace-Transformation eines Ausdruckes bezglich der Variablen var in eine Funktion der Variablen t + i

1 F ( s ) e s t ds 2 i
+

ztrans,var

Z-Transformation eines Ausdruckes bezglich der Variablen var in eine Funktion der Variablen z

n =0

f ( n) z n

invztrans,var

Inverse Z-Transformation eines Ausdruckes bezglich der Variablen var in eine Funktion der Variablen n in Form eines Konturintegrals um den Nullpunkt

2 i C

n 1 F ( z ) z dz

Dabei ist C eine Kontur um alle singulren Punkte des Integranden F ( z )

- 10 -

Schlsselwort assume,beding

Funktion
Auswertung eines Ausdruckes unter Festlegen einer Nebenbedingung beding fr eine oder mehrere Variablen Unbekannten seien reellwertig

assume,var=real Auswertung eines Ausdruckes unter der Annahme alle assume,var= RealRange(a,b)
Auswertung eines Ausdruckes unter der Annahme alle Unbekannten seien reellwertig im Bereich der reellen Zahlen a und b

- 11 -

- 12 -

3.2) Bentzung des Symbolic-Mens


Im Men Symbolic stehen folgende Prozeduren zur Verfgung: Symbolically < >F9 Floating Point ... Complex Expand to Series... Convert to Partial Fraction Solve Substitute Differentiate Integrate Transpose Invert Derminant Fourier Inverse Fourier Laplace Inverse Laplace Z Inverse Z

Evaluate Simplify Expand Factor Collect Polynomial Coefficients Variable Matrix Transform Evaluation Style...

- 13 -

Bentzung der Funktionen aus dem Symbolics-Men:

- 14 -

4) Vektoren und Matrizen:


Erstellen durch: a) Insert-Matrix-Kommando: Men Insert Matrix oder Mathematik-Tool Bar <Strg>M

oder

b) Verwendung von Bereichsvariablen c) Einzelwertzuweisung an die indizierte Vektor- oder MatrizenVariable d) Einlesen einer Werte-Datei, die Datei wird bei jeder Neuberechnung des Arbeitsblattes neu eingelesen: Men Insert Component File Read or Write Read from a file ...

Auf den Platzhalter erfolgt die Eingabe des Namens der Vektor/Matrix-Variablen. Werte-Trennzeichen in einer Zeile der Datei: <Tab>

- 15 -

e) Eingabe in eine Tabelle: Men Insert Component Input Table Finish Auf den Platzhalter Eingabe der Vektor/Matrix-Variablen, in die Tabelle Eingabe der Werte f) Importieren in eine Tabelle aus einer Datei, die Datei wird nur bei Wahl der Option Import eingelesen: Wie e) aber statt Werteeingabe Tabelle auswhlen durch Anklicken rechte Maustaste Import ...

- 16 -

- 17 -

4.1) Operatoren
Operation Multiplikation mit Skalar Skalarprodukt zweier Vektoren Matrix-Multiplikation Vektor/Matrix-Multiplikation Division durch Skalar Addition eines Skalars Vektor- und Matrix-Addition Subtraktion eines Skalars Vektor- und Matrix-Subtraktion Negation von Vektor und Matrix Potenz einer quadrat. Matrix, Inverse (n=-1) Betrag eines Vektors Determinante einer quadratischen Matrix Transponierte Matrix Kreuzprodukt zweier Dreielement-Vektoren Konjugiert komplexe Matrix (elementweise) Summe aller Vektorelemente Element per Element-Operation (Vectorize) n-ter Spaltenvektor der Matrix n-tes Vektorelement (m,n)-tes Matrixelement Bild Taste * * * * / + + ^ | | <Strg>1 <Strg>8 " <Strg>4 <Strg><Strg>6 [ [

A z u v A B A v A/z A+z A +B A-z A -B


-A

Mn
|v| |M|

AT uxv A
v

r A A<n> vn Am,n

- 18 -

4.2) Funktionen 4.2.1) Gre


Funktion rows(A) cols(A) length(v) last(v) max(A) min(A) Funktionsergebnis Anzahl der Zeilen des Feldes A Anzahl der Spalten des Feldes A Anzahl der Elemente des Vektors v Indexzahl des letzten Vektorelementes Grtes Element des Feldes A Kleinstes Element des Feldes A

- 19 -

4.2.2) Spezielle Matrizen


Funktion Funktionsergebnis

identity(n) Einheitsmatrix I Re(A) Im(A) diag(v) Feld der Realteile des Feldes A Feld der Imaginrteile des Feldes A Diagonalmatrix mit den Vektorelementen v

geninv(A) Linksinverse Matrix L von A, LA=I rref(A) Zeilenreduzierte Echelonform von A

- 20 -

4.2.3) Funktionen zum Bilden von neuen Matrizen


Funktion augment(A,B,C,...) Funktionsergebnis Matrix gebildet durch Nebeneinanderstellen von A, B, C, ... Die Matrizen A, B, C, ... mssen gleiche Zeilenanzahl besitzen Matrix gebildet durch bereinanderstellen von A, B, C, ... Die Matrizen A, B, C, ... mssen gleiche Spaltenanzahl besitzen

stack(A,B,C,...)

submatrix(A,iz,jz,is,js) Submatrix bestehend aus den Elementen der Zeilen iz bis jz und der Spalten von is bis js der Matrix A iz > jz ... umgekehrte Zeilenanordnung is > js ... umgekehrte Spaltenanordnung matrix(m,n,f) Matrix, bei der das i,j-te Element den Funktionswert f(i,j) enthlt i = 0,1, ... m-1 j = 0,1, ... n-1 f mu bereits davor definiert sein Vektor dreier eingebetteter Matrizen, die die x-, y- und z-Koordinaten einer parametrischen Oberflche definiert durch F darstellen. F ist eine dreielementige Vektorfunktion zweier Variablen. Vektor dreier eingebetteter Vektoren, die die x-, y- und z-Koordinaten einer Raumkurve definiert durch F darstellen. F ist eine dreielementige Vektorfunktion einer Variablen.

CreateMesh(F,[[s0], [s1],[t0],[t1],[sgrid], [tgrid],[fmap]])

CreateSpace(F,[[t0], [t1],[tgrid],[fmap]])

- 21 -

- 22 -

4.2.4) Charakteristische Matrixgren


Funktion tr(M) rank(A) Funktionsergebnis Spur der quadratischen Matrix M Rang der reellen Matrix A

norm1(M) L1-Norm der quadratischen Matrix M norm2(M) L2-Norm der quadratischen Matrix M norme(M) Euklidische Norm der quadratischen Matrix M normi(M) Zeilensummen-Norm der quadratischen Matrix M

cond1(M) Kondition basierend auf der L1-Norm cond2(M) Kondition basierend auf der L2-Norm conde(M) Kondition basierend auf der euklidischen Norm condi(M) Kondition basierend auf der Zeilensummennorm

- 23 -

4.2.5) Eigenwerte und Eigenvektoren


Funktion eigenvals(M) Funktionsergebnis Vektor der Eigenwerte der quadrat. Matrix M

eigenvec(M,z) normalisierter Eigenvektor fr Eigenwert z von M eigenvecs(M) Matrix der normalisierten Eigenvektoren von M, n-ter Spaltenvektor ist Eigenvektor des n-ten Eigenwertes nach eigenvals(M) Vektor v der Eigenwerte des generalisierten Eigenwertproblems Mx = viNx M,N ... quadrat., gleichgroe, reellw. Matrizen x ......... zum Eigenwert vi gehrender Eigenvektor

genvals(M,N)

genvecs(M,N) Matrix der normalisierten Eigenvektoren zu den Eigenwerten in v := genvals(M,N)

- 24 -

4.2.6) Zerlegung von Matrizen


Funktion cholesky(M) Funktionsergebnis Untere Dreiecksmatrix L, so da LLT = M, bentzt nur den oberen Dreiecksteil von M, dieser um die Diagonale gespiegelt mu eine positiv definite Matrix ergeben Matrix, die orthonormale Matrix Q neben der oberen Dreiecksmatrix R enthaltend, so da A = QR Matrix, nebeneinander die quadratischen Matrizen P, L und U enthaltend, so da PM = LU L ... untere Dreiecksmatrix U ... obere Dreiecksmatrix Matrix, bereinander die Matrizen U und V enthaltend, so da A = Udiag(s)VT A ... mxn reelwertiges Feld, wobei m n U ... obere mxn Submatrix V ... untere nxn Submatrix s ... Vektor s := svds(A) Vektor der singulren Werte von A A ... mxn reelwertiges Feld, wobei m n

qr(A)

lu(M)

svd(A)

svds(A)

- 25 -

- 26 -

- 27 -

4.2.7) Sortier-Funktionen
sort(v) csort(A,n) Sortiert die Elemente des Vektors v in aufsteigender Reihenfolge Sortiert die Zeilen der Matrix A entsprechend der Elemente der Spalte n in aufsteigender Reihenfolge Sortiert die Spalten der Matrix A entsprechend der Elemente der Zeile n in aufsteigender Reihenfolge Kehrt die Elementanordnung des Vektors v um Kehrt die Zeilenanordnung der Matrix A um

rsort(A,n)

reverse(v) reverse(A)

- 28 -

5) Schrittweise Berechnung (seeded iteration) 5.1) Eine Variable Beispiel: Nherungsweise Lsung einer nichtlinearen Gleichung, wobei ein verbesserter Nherungswert aus dem vorhergehenden berechnet wird

- 29 -

5.2) Mehrere Variable Beispiel: Bilanzierung einer Bodenkolonne &f &g . . N N X= & Y= & N f,0 Ng,0 N f ,0 N g ,0
Yi+1 X i+1 . Ni+1

x= X 1+ X

y= Y 1+ Y

yi + 1 = H xi
& & N = (X i X i + 1 ) N i+1 f,0

Yi

Xi

& & N = (Yi Yi + 1 ) N i+1 g,0

- 30 -

- 31 -

5.3 Vektor Beispiel: Mehrfache Transformation eines Vektors, A ist die Transformationsmatrix

- 32 -

Beispiel: Linearisierte Bilanzierung einer Bodenkolonne


. Ng,0 Yi+1 . N f,0 X i+1 . Ni+1

& & N = (X i X i + 1 ) N i+1 f,0

& & N = (Yi Yi + 1 ) N i+1 g,0


X i + 1 = (1 + H & N g,0 & N f,0 ) X i & N g,0 & N f,0 Y i

Yi

Xi

Yi + 1 = H Xi

linearisiert

& N i + 1 = -H X + Y i i & N
g,0

- 32 -

6) Funktionen 6.1) Mathcad-Funktionen


6.1.1) Transzendente Funktionen x, y ... rellwertige Ausdrcke z ....... komplexwertiger Ausdruck Trigonometrische sin(z) cos(z) tan(z) cot(z) csc(z) sec(z) asin(z) acos(z) atan(z) atan2(x,y) acot(z) acsc(z) asec(z) angle(x,y) Hyperbolische sinh(z) cosh(z) tanh(z) coth(z) csch(z) sech(z) asinh(z) acosh(z) atanh(z) acoth(z) acsch(z) asech(z) Bessel J0(x) J1(x) Jn(m,x) js(n,x) Y0(x) Y1(x) Yn(x) ys(n,x) I0(x) I1(x) In(m,x) K0(x) K1(x) Kn(m,x) bei(n,x) ber(n,x) Ai(x) Bi(x) m, n ..... Ordnung a, b, c ... Parameter Exponent. Logarithm. exp(z) ln(z) log(z[,b]) Spezielle erf(x) erfc(x) (z) (x,y) fhyper(a,b,c,x) Her(n,x) ibeta(a,n,x) Jac(n,a,b,x) Lag(n,x) Leg(n,x) mhyper(a,b,x) Tcheb(n,x) Ucheb(n,x)

- 33 -

6.1.2) Funktionen mit komplexen Zahlen x,y ... rellwertige Ausdrcke z ...... komplexwertiger Ausdruck Re(z) Im(z) arg(z) csgn(z) Realteil von z Imaginrteil von z Argument von z, - arg(z) 0 ....... fr z = 0 1 ....... fr Re(z)>0 oder (Re(z)=0 und Im(z)>0) -1 ...... ansonsten 1 ....... fr z = 0 z/|z| ... ansonsten

signum(z)

6.1.3) Stckweise kontinuierliche Funktionen if(bed,tw,fw) tw .... wenn bed 0 (true) fw .... wenn bed = 0 (false) bed: w = z x>y wz x<y Kroneckersche Deltafunktion 1 ...... fr m = n 0 ...... ansonsten Antisymetrischer Tensor vom Rang 3 0 .... fr zwei gleiche Werte i, j, k 1 .... fr gerade Permutationen -1 ... fr ungerade Permutationen i, j, k ... zwischen ORIGIN und ORIGIN+2 Heaviside Sprungfunktion 0 .... fr x < 0 1 .... fr x 0 0 .... fr x = 0 1 .... fr x > 0 -1 ... fr x < 0

xy xy

(m,n)

(i,j,k)

(x)

sign(x)

- 34 -

6.1.4) Rundungsfunktionen ceil(x) floor(x) round(x[,n]) Kleinste Integerzahl x Grte Integerzahl x Rundung von x auf n Dezimalstellen, n < 0 .... Rundung links vom Dezimalpunkt, n fehlt ... Rundung auf nchste Integerzahl Abschneiden der Nachkommastellen von x

trunc(x)

6.1.5) Funktionen der Zahlentheorie und Kombinatorik combin(n,k) permut(n,k) lcm(A,B,C,...) gcd(A,B,C,...) mod(x,y) Anzahl der Kombinationen von n Objekten in k Elementen; k,n ganze Zahlen 0 k n Anzahl der Permutationen von n Objekten in k Elementen; k,n ganze Zahlen 0 k n Kleinstes gemeinsames Vielfaches Grter gemeinsamer Nenner von A, B, C,.. Divisionsrest nach x/y

- 35 -

6.1.6) Diskrete Transformationsfunktionen cfft(A) Fast-Fourier-Transformation, A ... komplexwertiger Vektor oder Matrix Ergebnis ist ein Feld gleicher Gre wie A Inverse Fast-Fourier-Transformation, A ... komplexwertiger Vektor oder Matrix Ergebnis ist ein Feld gleicher Gre wie A Fast-Fourier-Transformation, v ... rellwertiger Vektor mit 2m Elementen, m>2 Inverse Fast-Fourier-Transformation, v ... Vektor mit 1+2n-1 Elementen Ergebnis ist ein Vektor mit 2nElementen, n>2 Fast-Fourier-Transformation identisch mit cfft, jedoch mit unterschiedlicher Normierung und unterschiedlicher Vorzeichen-Vereinbarung Inverse Fast-Fourier-Transformation zu CFFT, A ... komplexwertiger Vektor oder Matrix Ergebnis ist ein Feld gleicher Gre wie A Fast-Fourier-Transformation identisch mit fft, jedoch mit unterschiedlicher Normierung und unterschiedlicher Vorzeichen-Vereinbarung Inverse Fast-Fourier-Transformation zu FFT, v ... Vektor mit 1+2n-1 Elementen Ergebnis ist ein Vektor mit 2nElementen, n>2 Wavelet-Transformation, v ... rellwertiger Vektor mit 2m Elementen Ergebnis ist ein Vektor gleicher Gre Inverse Wavelet-Transformation, v ... rellwertiger Vektor mit 2m Elementen Ergebnis ist ein Vektor gleicher Gre

icfft(A)

fft(v) ifft(v)

CFFT(A)

ICFFT(A)

FFT(v)

IFFT(v)

wave(v)

iwave(v)

- 36 -

6.1.7) Interpolations- und Vorhersage-Funktionen


vx ....... Vektor der Abszissenwerte der Sttzpunkte in aufsteigender Reihenfolge vy ....... Vektor der Ordinatenwerte der Sttzpunkte vs ....... Vektor der Splinekoeffizienten in den Sttzpunkten u ........ Vektor der Abszissenwerte der Knoten fr den B-Spline n ......... Ordnung des B-Splines Mxy .... nx2-Matrix der Abszissen- und Ordinatenwerte der Sttzpunkte auf einem Rechteckgitter in aufsteigender Reihenfolge Mz ...... nxn-Matrix der z-Werte der Sttzpunkte x ......... Abszisse des zu interpolierenden Punktes y ......... Ordinate des zu interpolierenden Punktes mit x v ......... Vektor des zu interpolierenden Punktes in der xy-Ebene z ......... z-Koordinate des zu interpolierenden Punktes mit v linterp(vx,vy,x) lspline(vx,vy) pspline(vx,vy) cspline(vx,vy) interp(vs,vx,vy,x) lspline(Mxy,Mz) pspline(Mxy,Mz) cspline(Mxy,Mz) interp(vs,Mxy,Mz,v) bspline(vx,vy,u,n) interp(vs,vx,vy,x) predict(v,m,n) Lineare Interpolation Kubische Spline-Interpolation von Kurven vs mit geraden Randabschnitten vs mit parabol. Randabschnitten vs mit kub. Randabschnitten y fr x Kubische Spline-Interpolation von Oberflchen vs mit geraden Randabschnitten vs mit parabol. Randabschnitten vs mit kub. Randabschnitten z fr v B-Spline-Interpolation von Kurven vs fr B-Spline der Ordnung n y fr x Lineare Vorhersage Vektor der Vorhersagewerte m ... Anzahl der letzten Datenwerte im Vektor v als Vorhersagebasis n .... Anzahl der Vorhersagewerte

- 37 -

6.1.8) Regression
vx .......... Vektor der Abszissenwerte der Sttzpunkte vy .......... Vektor der Ordinatenwerte der Sttzpunkte span ...... maximaler Ordinatenabstand der Fitkurve von den Datenpunkten vs .......... Vektor der Polynomkoeffizienten x ............ Abszisse des zu interpolierenden Punktes Mxy ....... nx2-Matrix der Abszissen- und Ordinatenwerte der Sttzpunkte vz .......... n-Element-Vektor der z-Werte der Sttzpunkte v ............ Vektor des zu interpolierenden Punktes in der xy-Ebene a,b,c ....... Fitparameter der spezialisierten Regression F ............ Vektor von Fitfunktionen vg .......... Vektor von Startwerten fr die Fitparameter a,b,c der spezialisierten Regression, bzw. die Fitparameter in F Lineare Regression Ordinatenabschnitt der Fitgeraden Neigung der Fitgeraden Ordinatenabschnitt und Neigung Standard-Fehlerabweichung Ordinatenabschnitt und Neigung fr Median-Median-Regression Polynom-Regression einer Kurve vs fr Polynom n-ter Ordnung vs fr Satz von Polynomen 2. Ordnung y fr x Polynom-Regression einer Oberflche vs fr Polynom n-ter Ordnung vs fr Satz von Polynomen 2. Ordnung z fr v

intercept(vx,vy) slope(vx,vy) line(vx,vy) stderr(vx,vy) medfit(vx,vy)

regress(vx,vy,n) loess(vx,vy,span) interp(vs,vx,vy,x) regress(Mxy,vz,n) loess(Mxy,vz,span) interp(vs,Mxy,vz,v)

- 38 -

expfit(vx,vy,vg) lgsfit(vx,vy,vg) logfit(vx,vy,vg) pwrfit(vx,vy,vg) sinfit(vx,vy,vg)

Spezialisierte Regression Vektor der Fitparameter a,b,c der Fitfunktion aexp(bx) + c Vektor der Fitparameter a,b,c der Fitfunktion a/[1+bexp(-cx)] Vektor der Fitparameter a,b,c der Fitfunktion aln(x)b + c Vektor der Fitparameter a,b,c der Fitfunktion axb + c Vektor der Fitparameter a,b,c der Fitfunktion asin(x + b) + c Generalisierte Regression Vektor der Koeffizienten fr die Linearkombinationen der Fi Vektor der Fitparameter in F

linfit(vx,vy,F) genfit(vx,vy,vg,F)

6.1.9) Zugriff auf Textdateien


datei ..... Name [und Pfad] einer strukturierten ASCII-Datendatei als Zeichenkette in Anfhrungszeichen oder als Textvariable. Bei einer Eingabedatei mssen die Datenwerte in einer Zeile durch Tabulatorzeichen getrennt sein und in jeder Zeile mssen gleich viele Datenwerte stehen READPRN(datei) Liest die Datei auf eine Matrix, wobei die Zeilen der Datei in die Zeilen der Matrix eingetragen werden, z.B.: A:=READPRN(datei) Die Zeilen einer Matrix werden in die Zeilen einer Datei ausgegeben, z.B.: WRITEPRN(datei):=A Eine Matrix wird an eine bestehende Datei, die die gleiche Spaltenanzahl haben mu, angehngt, z.B.: APPENDPRN(datei):=A

WRITEPRN(datei)

APPENDPRN(datei)

- 39 -

6.1.10) Weitere Funktionen


Glttungsfunktionen Statistische Funktionen Wahrscheinlichkeits-Verteilungsfunktionen Finanztechnische Funktionen Funktionen zur Datentypermittlung Funktionen zur Behandlung von Zeichenketten Funktionen zum Lesen und Schreiben von Bilddateien Funktionen zur Verwendung mit 3D-Diagrammen

- 40 -

6.2) Definition einer Bentzerfunktion durch einen Ausdruck fun(f1,f2,....,v1,v2,....) := ausdr{f1,f2,....,v1,v2,....,a1,a2,....}

formale Parameter der Funktion

definierte Ausdrcke

formale Funktionsnamen

formale Parameter der Funktion

beliebiger Name fr die zu definierende Funktion

formale Funktionsaufrufe, mit Parametern v1,v2,.... und/oder definierten Ausdrcken

fun(f1,f2,....,v1,v2,....) = Ergebnis
oder

erg := fun(f1,f2,....,v1,v2,....)

aktuelle, vollstndig definierte Ausdrcke

aktuelle Funktionsnamen von Mathcad-Funktionen oder definierten Bentzerfunktionen

- 41 -

7) Programmierung

- 42 -

7.1) Bedingungsanweisungen
Funktionsdefinition

f( x )

Bei selektiertem Platzhalter klick "Add Line"

f( x )

Bei selektiertem oberen Platzhalter klick "if"

f( x )

if

Eingabe auf die selektierten oberen Platzhalter

f( x )

0 if

x >2

Bei selektiertem unteren Platzhalter klick "otherwise"

f( x )

0 if

x >2

otherwise

Eingabe auf den selektierten unteren Platzhalter

f( x )

0 if 4 x

x >2
2

otherwise

- 43 -

- 44 -

7.2) Schleifenanweisungen 7.2.1) While-Schleife


Klick "While"

while

Eingabe bei selektiertem oberen bzw. unteren Platzhalter

while vj Grenzwert j

Bei selektiertem unteren j klick ""

while vj Grenzwert j

Eingabe auf den selektierten rechten unteren Platzhalter

while vj Grenzwert j j 1

Anfgen einer weiteren Programmzeile: Bei selektiertem gesamten unteren Ausdruck klick "Add Line"

while vj Grenzwert j j 1

- 45 -

- 46 -

- 47 -

7.2.2) For-Schleife
Klick "For"

for

Eingabe bei selektiertem linken oberen Platzhalter

for i

Eingabe des Bereiches bei selektiertem rechten oberen Platzhalter

for i 1 .. n

Eingabe auf den selektierten unteren Platzhalter und Klicken

for i 1 .. n s

Eingabe des Ausdruckes auf den selektierten unteren Platzhalter

for i 1 .. n s s i

- 48 -

- 49 -

7.3) Rekursive Programmierung

- 50 -

7.4) Programmablauf-Kontrolle 7.4.1) Vorzeitige Beendigung eines Schleifendurchlaufes


Selektiere Platzhalter

Klick "if"

if

Klick "continue" Trage Bedingung ein

continue if

- 51 -

7.4.2) Vorzeitige Beendigung einer Schleife


Selektiere Platzhalter

Klick "if"

if

Klick "break" Trage Bedingung ein

break if

- 52 -

7.4.3) Vorzeitige Beendigung eines Programms


Selektiere Platzhalter

Klick "if"

if

Klick "return" Trage Rckgabewert und Bedingung ein

return

if

- 53 -

7.4.4) Fehlerbehandlung Anweisung fr die Fehlerbehandlung: "on error"


Selektiere Platzhalter

Klick "on error", trage normal auszufhrende Anweisung ein

on error

Trage Anweisung fr den Fehlerfall ein

on error anweisung

Anweisung zur Ausgabe von Fehlertext: "error()"


Selektiere Platzhalter

Klick "if" Trage "error" mit Fehlertext ein

if

Trage Fehlerbedingung ein

error(Fehlertext) if

- 54 -

- 55 -

- 56 -

8) Gleichungslsung 8.1) Lineare Gleichungen


Gleichungssystem Mx = a x := M-1a

8.1.1) Mittels invertierter Koeffizientenmatrix

8.1.2) Mittels der Funktion lsolve

x := lsolve(M,a)

- 57 -

8.2) Nichtlineare Gleichungen


Vorgabe der Genauigkeit durch Voreingestellter Wert 8.2.1) root-Funktion Nullstellen-Suche fr eine Variable mit numerischem Ergebnis Startwert-Vorgabe Lsungsbereich-Vorgabe TOL := epsilon -3 TOL 10

Zahlenergebnis var := Startwert root(ausdr,var) = Ergebnis root(ausdr,var,a,b) = Ergebnis

Variablendefinition fr Ergebnis var := Startwert erg := root(ausdr,var) erg = Ergebnis erg := root(ausdr,var,a,b) erg = Ergebnis

ausdr .... Ausdruck, der u.a. von der Variablen var abhngt und der zu Null werden soll. var ......... Variable fr die die Nullstelle von ausdr gesucht werden soll. a, b ........ Definierte Ausdrcke fr die Grenzen des Bereiches in dem die Nullstelle liegen soll. Damit eine Nullstelle gefunden wird, mssen die Werte von ausdr fr a und b unterschiedliches Vorzeichen haben. Funktionsdefinition fr mehrere Ergebnisse: Startwert-Vorgabe fun([var,]v1,v2,...) := root(ausdr,var) Variable, die in ausdr enthalten sind Wenn vorhanden = Startwert, ansonsten vorher lokale Startwertdefinition Beliebiger Funktionsname

- 58 -

Lsungsbereich-Vorgabe fun(v1,v2,...) := root(ausdr,var,a,b) Variable, die in ausdr und/oder a und/oder b enthalten sind Beliebiger Funktionsname fun kann in weiteren Ausdrcken verwendet werden, die Parameter mssen definiert sein: Startwert-Vorgabe V1 := ausdr1 V2 := ausdr2 ..... fun(Startwert,V1,V2,...) = Ergebnis erg := fun(Startwert,V1,V2,...) Variable := ausdr{fun(Startwert,V1,V2,...)} Lsungsbereich-Vorgabe V1 := ausdr1 V2 := ausdr2 ..... fun(V1,V2,...) = Ergebnis erg := fun(V1,V2,...) Variable := ausdr{fun(V1,V2,...)} Die Bereichsgrenzen a und b mssen vor Verwendung der Funktion fun durch die Gren V1,V2, ... definiert sein! Die Root-Funktion liefert auch bei mehreren Nullstellen immer nur ein Ergebnis. Dabei hngt die gefundene Nullstelle entweder von der Startwert- oder der Lsungsbereich-Vorgabe ab. Der iterative Lsungsprozess wird beendigt, wenn die Differenz zweier aufeinanderfolgende Nherungswerte fr var kleiner als TOL ist.

- 59 -

- 60 -

8.2.1) polyroots-Funktion Suche aller Nullstellen eines Polynoms fr eine Variable mit numerischem Ergebnis. Polynom: Koeffizienten-Vektor: Nullstellen-Vektor:

V = (a0 , a1 ,K, an 1 , an )T
N := polyroots(V)

Pn = an x n + an 1 x n 1 + K + a1 x + a0

Die Vorgabe eines Startwertes ist nicht erforderlich.

- 61 -

8.2.3) SOLVE-Block Lsung von Systemen von Gleichungen und Ungleichungen mit mehreren Variablen. Ergebnis numerisch und symbolisch. var1 := Startw1 var2 := Startw2 ..... fr numer. Ergebnis Given ausdr1 = ausdr2 ausdr ausdr1 > ausdr2 ausdr1 ausdr2 ausdr1 < ausdr2 ausdr1 ausdr2 Symbolisches Ergebnis Find(var1,var2,...) Ergebnis Zahlenergebnis Find(var1,var2,...) = Ergebnis Minerr(var1,var2,...) = Ergebnis Minimize(f,var1,var2,...) = Ergebnis Maximize(f,var1,var2,...) = Ergebnis erg1 erg2 Genau entspr. TOL Beste Nherung Minimiert die Funktion f Maximiert die Funktion f

Gleichung Gleichung, entspricht ausdr = 0 Ungleichung Ungleichung Ungleichung Ungleichung

Variablendefinition fr Ergebnis am Beispiel von Find := Find(var1,var2,...)

erg1 = Ergebnis1 erg2 = Ergebnis2 Vektordefinition fr Ergebnis am Beispiel von Find erg := Find(var1,var2,...) erg = Ergebnis-Vektor

- 62 -

Funktionsdefinition fr Ergebnis am Beispiel von Find fun([var1,var2,...]va,vb,...) := Find(var1,var2,...) Variable, die in den Gleichungen enthalten sind Wenn vorhanden = Startwerte, sonst lokale Startwertdefinition fun([Stw1,Stw2,...]defa,defb,...) = Ergebnis-Vektor Toleranzen: TOL ..... Konvergenz-Toleranz: Das Ergebnis wird zurckgegeben, wenn die Schtzwerte fr die Variablen var in zwei aufeinanderfolgenden Iterationen weniger als TOL differieren. CTOL ... Bedingungs-Toleranz: Gibt an , wie genau die Bedingungsgleichungen erfllt sein mssen.

- 63 -

- 64 -

9) Differentialgleichungen 9.1) Gewhnliche Differentialgleichungen 9.1.1) Lsung einer DGL mittels SOLVE Block
Mittels Solve Block knnen gewhnliche lineare und nichtlineare Differentialgleichungen beliebiger Ordnung als Anfangswertproblem oder als Randwertproblem gelst werden: Given ausdr1 = ausdr2 Differentialgleichung der Ordnung n randw1 = Wert1 1. Randbedingung : randwn = Wertn n-te Randbedingung erg := Odesolve(x,xm[,m]) ausdr ...... Ausdrcke, die die unabhngige Variable, die abhngige Variable und deren Ableitungen enthalten. Die abhngige Variable und deren Ableitungen mssen immer als Funktion der unabhngigen Variablen explizit angefhrt werden. Die hchste (n-te) Ableitung darf nur linear vorkommen. Alle anderen Ableitungen und die abhngige Variable drfen nichtlinear enthalten sein. Innerhalb des Solve Blocks drfen die Ableitungen auch durch Striche gekennzeichnet werden, z.B. y'(x), u'''(t) (Eingabe durch <Strg><F7>) randw ..... Abhngige Variable oder deren i-te Ableitung an einer der beiden Randstellen. Es sind nur einfache und nicht gekoppelte Randbedingungen mglich, z.B. y(0) = Wert, u''(tm) = Wert. Es mu mindestens eine Anfangsbedingung, d.h. ein Wert am Beginn des Lsungsintervalls, angegeben werden. Wert ....... Definierter Ausdruck fr den Randwert erg .......... Lsungsfunktion der unabhngigen Variablen x x ............. Unabhngige Variable, fr die die Differentialgleichung gelst werden soll xm ........... Endpunkt des Lsungsintervalls m ............ Anzahl der Sttzpunkte in denen die Lsung berechnet wird.

- 65 -

- 66 -

9.1.2) Differentialgleichungs-Lsungsfunktionen
9.1.2.1) Anfangswertprobleme 9.1.2.1.1) Runge-Kutta-Methode 4. Ordnung

Z := rkfixed(y,xo,xm,m,D) Z ............. Lsungsmatrix mit m+1 Zeilen:


1. Spalte ................ Vektor der x-Werte der Sttzpunkte Weitere Spalten ... Vektoren der berechneten Werte fr y, y', y'', ...., y(n-1), bzw. bei DGL-Systemen der Werte fr y1, y1', ...., y1(n-1), y2, y2', ...., y2(n-1), ......

y ............. Vektor der n Anfangswerte,


n .... Ordnung der Differentialgleichung, bzw. Summe der Ordnungen der DGL bei einem Differentialgleichungssystem xo ............ Anfangspunkt des Lsungsintervalls xm ........... Endpunkt des Lsungsintervalls m ............ Anzahl der Sttzpunkte in denen die Lsung berechnet wird, gesamte Anzahl der Sttzpunkte = m+1

D(x,y) ..... Vektorfunktion


mit n Elementen, die die ersten bis n-ten Ableitungen enthlt, bzw. bei DGL-Systemen mit n Elementen, die die ersten bis n-ten Ableitungen der 1. DGL, die ersten bis n-ten Ableitungen der 2. DGL, usw. enthlt

- 67 -

Beispiele fr einzelne gewhnliche Differentialgleichungen:

- 68 -

- 69 -

Beispiel fr ein System zweier DGL 1.Ordnung:

(t ) = x0 (t ) x1 (t ) x0 (t ) 2 + x1 (t ) 2 x0 (t ) x0
1 1 0 0 2 1 2 1

[ x (t ) = x (t ) + x (t ) [x (t )

] + x (t ) ]x (t )

x0 (0) = 0
x1 (0) = 1

- 70 -

Beispiel fr ein System zweier DGL 2.Ordnung:

u( x ) = 2 ( x )

u(0) = 1,5

u(0) = 1,5

( x ) = 4 ( x ) 2 u( x )

(0) = 1

(0) = 1

- 71 -

9.1.2.1.2) Spezialisierte Differentialgleichungslser Bulirsch-Stoer-Methode:

Z := Bulstoer(y,xo,xm,m,D)
Fr stetige Lsungen mit etwas hherer Genauigkeit als die Runge-Kutta-Methode. Runge-Kutta-Methode mit variabler Schrittweite:

Z := Rkadapt(y,xo,xm,m,D)
Fr Lsungsfunktionen, die im Lsungsbereich stark unterschiedliche Gradienten aufweisen. Obwohl die Lsungen an Sttzstellen mit ungleichen Abstnden berechnet werden, erfolgt die Rckgabe der Lsungswerte fr konstante Abszissenabstnde. Lsungsmethoden fr "steife" Systeme:

Z := Stiffb(y,xo,xm,m,D,J) Z := Stiffr(y,xo,xm,m,D,J)

Bulirsch-Stoer Rosenbrock

J(x,y) ..... Matrixfunktion mit n(n+1) Elementen, die ersteSpalte enthlt die Ableitungen D , x
die restliche nn-Matrix enthlt die JakobiMatrix D , z.B.:

yk x y1 D = 2 y1 y0

x y1 0 J(x,y) = 0 2 y1 2 y0

- 72 -

Methoden, die Lsungen fr weniger Punkte liefern, als Sttzstellen vorhanden sind:

Z := Bulstoer(y,xo,xm,acc,D,kmax,save) Z := Rkadapt(y,xo,xm,acc,D,kmax,save) Z := Stiffb(y,xo,xm,acc,D,J,kmax,save) Z := Stiffr(y,xo,xm,acc,D,J,kmax,save)


acc ........ Genauigkeitskontrolle, kleine Werte von acc verringern die Schrittweite, acc = 0,001 liefert im allgemeinen gengend genaue Lsungen die grte zulssige Anzahl von Zwischenpunkten, in denen die Lsung zurckgegeben wird der kleinste zulssige Abstand der Zwischenpunkte, in denen die Lsung zurckgegeben wird

kmax .....

save ......

Mit diesen Methoden kann die Lsungsmatrix Z klein gehalten werden, bzw. die Rckgabe kann auf die Lsung nur im Endpunkt beschrnkt werden.

- 73 -

9.1.2.2) Randwertprobleme 9.1.2.2.1) Vorgegebene Randwerte an den Bereichsenden Das Randwertproblem wird auf ein Anfangswertproblem zurckgefhrt. Die fehlenden Anfangswerte an der Stelle xo werden aus den gegebenen Randwerten an der Stelle xm zurckgerechnet:

w := sbval(v,xo,xm,D,l,s) w ............ Ergebnis-Vektor der unbekannten


Anfangswerte

v ............. Startwert-Vektor der unbekannten


Anfangswerte xo ............ Anfangspunkt des Lsungsintervalls xm ........... Endpunkt des Lsungsintervalls

D(x,y) ..... Vektorfunktion fr die die ersten bis n-ten


Ableitungen

l(xo,v) ..... Vektorfunktion fr die Anfangswerte in xo,


fr die unbekannten Anfangswerte sind die Startwerte des Vektors v einzusetzen

s(xm,y) .... Vektorfunktion fr die Differenz der berechneten Funktionswerte y und der
gegebenen Werte im Randpunkt xm

- 74 -

- 75 -

9.1.2.2.2) Vorgegebene Werte an den Bereichsenden und in einem Zwischenpunkt Die Lsungsfunktion wird gleichzeitig von beiden Bereichsenden her entwickelt. Dies erfolgt iterativ so lange bis die vorgegebenen Bedingungen im Zwischenpunkt xi erfllt werden. Danach steht der vollstndige Satz von Anfangsbedingungen in xo und xm fr einen der vorhandenen Gleichungslser zur Verfgung:

w := bvalfit(v1,v2,xo,xm,xi,D,l1,l2,s) w .............. Ergebnis als Zeilen-Vektor der


unbekannten Anfangswerte in xo und xm

v1 ............. Startwert-Vektor der unbekannten


Anfangswerte in xo

v2 ............. Startwert-Vektor der unbekannten


Anfangswerte in xm xo .............. Anfangspunkt des Lsungsintervalls xm ............. Endpunkt des Lsungsintervalls xi .............. Zwischenpunkt im Lsungsintervall

D(x,y) ....... Vektorfunktion fr die die ersten bis


n-ten Ableitungen

l1(xo,v1) ... Vektorfunktion fr die Anfangswerte in xo,


fr die unbekannten Anfangswerte sind die Startwerte des Vektors v1 einzusetzen

l2(xm,v2) ... Vektorfunktion fr die Anfangswerte in xm,


fr die unbekannten Anfangswerte sind die Startwerte des Vektors v2 einzusetzen

s(xi,y) ........ Vektorfunktion fr die Anpassung im


Zwischenpunkt xi

- 76 -

Mit der Funktion "bvalfit" lassen sich auch Probleme lsen, bei denen im Lsungsbereich eine Unstetigkeitsstelle vorhanden ist: a) Berechnung der fehlenden Anfangsbedingungen in den Randpunkten:

- 77 -

b) Berechnung der Lsungsfunktionen aus zwei Anfangswertproblemen:

- 78 -

9.2) Partielle Differentialgleichungen


Laplace-Gleichung

2u x
2

2u y
2

=0

Poisson-Gleichung Finite Differenzen-Verfahren:

2u x
2

2u y
2

= ( x, y)

Fr einen quadratischen Bereich, d.h. fr nn Sttzpunkte (n ungeradzahlig) gilt

a j , k u j +1, k + b j , k u j 1, k + c j , k u j , k +1 + d j , k u j , k 1 + e j , k u j , k = f j , k
9.2.1) Alle Randwerte = 0

u := multigrid(M,ncycle) u ............. Quadratische Ergebnis-Matrix,


in der die Elementposition der Sttzpunktposition in einem quadratischen Bereich entspricht und in der die Elementwerte die Nherungslsungen in den Sttzpunkten sind

M ............ Quadratische Matrix der Quellterme f j ,k


mit ungeradzahliger Zeilenzahl ncycle .... Anzahl der Wiederholungen einer MultigridIteration, ncycle = 2 liefert im allgemeinen gengend genaue Lsungen Auch fr alle Randwerte = uo mit uo 0 ist dieses Verfahren anwendbar, da durch die Transformation w = u - uo fr w wieder alle Randwerte zu Null werden.

- 79 -

Beispiel zur Anwendung der Funktion "multigrid":

- 80 -

9.2.2) Randwerte nicht gleich gro

u := relax(a,b,c,d,e,f,v,rjac) u ............. Quadratische Ergebnis-Matrix,


in der die Elementposition der Sttzpunktposition in einem quadratischen Bereich entspricht und in der die Elementwerte die Nherungslsungen in den Sttzpunkten sind

a ............. Quadratische Matrix der Koeffizienten a j ,k b ............. Quadratische Matrix der Koeffizienten b j ,k c .............. Quadratische Matrix der Koeffizienten c j ,k d ............. Quadratische Matrix der Koeffizienten d j ,k e .............. Quadratische Matrix der Koeffizienten e j ,k f .............. Quadratische Matrix der Quellterme f j ,k v ............. Quadratische Matrix der Randwerte und der
Startwerte im Inneren des Bereiches rjac ......... Spektralradius der Jakobi-Iteration, 0 > rjac 1 kontrolliert die Konvergenz des Relaxationsalgorithmus und ist problemabhngig

- 81 -

Beispiel zur Anwendung der Funktion "relax":

- 82 -

10) Zweidimensionale Diagramme 10.1) x-y-Diagramm Erstellen: Cursorkreuz fr linke obere Ecke des
Diagrammbereiches setzen und Taste @ oder Menleiste Insert ... Graph ... X-Y Plot oder Math Toolbar ... Graph Toolbar ...

Variable Variable

X-Y Plot Graph

Formatieren: mit Cursor im Diagramm Doppel-Klicken


oder mit Cursor im Diagramm Einfach-Klicken Menleiste ... Format ... Graph ... X-Y Plot

- 83 -

- 84 -

- 85 -

- 86 -

Zoomen eines Diagrammteilbereiches:

Diagramm selektieren: mit Cursor im Diagrammbereich klicken Menleiste ... Format ... Graph ... Zoom... oder Math Toolbar ... Graph Toolbar ... Zoom Es erscheint die Zoom-Dialogbox, die, wenn ntig, anders positioniert werden kann Mit gedrckter linker Maustaste den gewnschten Rechteckausschnitt ziehen Die Ausschnittkoordinaten erscheinen in der Zoom-Dialogbox Den "Zoom"-Knopf in der Dialogbox anklicken, es erscheint der vergrerte Diagrammausschnitt Mit dem "OK"-Knopf die Vergrerung fixieren

- 87 -

Auslesen von Plot-Koordinaten:

Diagramm selektieren: mit Cursor im Diagrammbereich klicken Menleiste ... Format ... Graph ... Trace... oder Math Toolbar ... Graph Toolbar ... Trace Es erscheint die Trace-Dialogbox, die, wenn ntig, anders positioniert werden kann Mit linker Maustaste in das Diagramm klicken Es erscheint ein Achsenkreuz und die zugehrigen Koordinatenwerte in der Trace-Dialogbox Mit gedrckter linker Maustaste kann das Achsenkreuz verschoben werden Wenn Track Data Points selektiert ist, springt das Achsenkreuz von Kurvenpunkt zu Kurvenpunkt ( Feineinstellung mit linker bzw. rechter Cursortaste) Wenn Track Data Points nicht selektiert ist, kann mit dem Achsenkreuz jeder beliebige Punkt im Diagramm angewhlt weden Mit Copy X und Copy Y der Trace-Dialogbox knnen die Xbzw. Y-Koordinaten in die Zwischenablage ausgelesen werden

- 88 -

10.2) Polar-Diagramm Erstellen:


Cursorkreuz fr linke obere Ecke des Diagrammbereiches setzen und Taste <Strg>7 oder Menleiste Insert ... Graph ... Polar Plot oder Math Toolbar ... Graph Toolbar ...

Winkel-Variable Variablen fr radiale Werte

Polar Plot Graph Toolbar

Formatieren: mit Cursor im Diagramm Doppel-Klicken


oder mit Cursor im Diagramm Einfach-Klicken Menleiste ... Format ... Graph ... Polar Plot

- 89 -

- 90 -

- 91 -

11) Dreidimensionale Diagramme


Folgende Diagramme knnen erstellt werden: Oberflchen-Diagramm Kontur-Diagramm Balken-Diagramm Punkthaufen-Diagramm Vektorfeld-Diagramm

Erstellen mit dem 3D-Plot-Helfer:


Cursorkreuz fr linke obere Ecke des Diagrammbereiches setzen Menleiste Insert ... Graph ... 3D Plot Wizard

- 92 -

3-Spalten-Matrix mit den x-, y- und z-Werten oder Vektoren X,Y,Z Die Verdrehung und Neigung des Achsenkreuzes bzw. des Diagramms kann auer mit dem Formatiermen General (siehe Formatieren) direkt mit der Maus durchgefhrt werden: Mit dem Mauszeiger an einer Stelle im inneren Diagrammbereich und gedrckter linker Maustaste Ziehen in beliebige Richtung.

- 93 -

Formatieren: mit Cursorkreuz im Diagramm Doppel-Klicken


oder mit Cursor im Diagramm Einfach-Klicken Menleiste ... Format ... Graph ... 3D Plot

- 94 -

- 95 -

- 96 -

11.1) Oberflchen-Diagramm Erstellen: Cursorkreuz fr linke obere Ecke des


Diagrammbereiches setzen und Taste <Strg>2 oder Menleiste Insert ... Graph ... Surface Plot oder Math Toolbar ... Graph Toolbar ...

Surface Plot 3-Spalten-Matrix mit den x-, y- und z-Werten oder Vektoren X,Y,Z

Graph Toolbar

- 97 -

- 98 -

11.2) Kontur-Diagramm Erstellen: Cursorkreuz fr linke obere Ecke des


Diagrammbereiches setzen und Taste <Strg>5 oder Menleiste Insert ... Graph ... Contour Plot oder Math Toolbar ... Graph Toolbar ...

- 99 -

11.3) 3D-Balken-Diagramm Erstellen: Cursorkreuz fr linke obere Ecke des


Diagrammbereiches setzen und Menleiste Insert ... Graph ... 3D Bar Plot oder Math Toolbar ... Graph Toolbar ... Das Beispiel fr das Konturdiagramm jetzt als 3D-Balkendiagramm:

- 100 -

11.4) 3D-Punkthaufen-Diagramm Erstellen: Cursorkreuz fr linke obere Ecke des


Diagrammbereiches setzen und Menleiste Insert ... Graph ... 3D Scatter Plot oder Math Toolbar ... Graph Toolbar ... Das Beispiel fr das Konturdiagramm jetzt als 3D-Punkthaufen-Diagramm:

- 101 -

11.5) Vektorfeld-Diagramm Erstellen: Cursorkreuz fr linke obere Ecke des


Diagrammbereiches setzen und Menleiste Insert ... Graph ... Vector Field Plot oder Math Toolbar ... Graph Toolbar ... Beispiel fr ein Vektorfeld-Diagramm: Die komplexwertige Matrix enthlt als Realteil die x-Komponenten und als Imaginrteil die y-Komponenten des Vektorfeldes:

- 102 -

Stattdessen knnen auch zwei rellwertige Matrizen verwendet werden:

Das könnte Ihnen auch gefallen