Sie sind auf Seite 1von 106

Institut für Grundlagen der Verfahrenstechnik und Anlagentechnik Technische Universität Graz

EDV – PROGRAMMIERSPRACHE

TEIL II: MATHCAD 2001 PROFESSIONAL

Ao. Univ.-Prof. Dipl.-Ing. Dr. Martin Pflügl

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) Benützung des Symbolic-Menüs

12

4) Vektoren und Matrizen

14

4.1) Operatoren

17

4.2) Funktionen 4.2.1) Größe

18

4.2.2) Spezielle Matrizen

19

4.2.3) Funktionen zum Bilden von Matrizen

20

4.2.4) Charakteristische Matrixgrößen

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

32

6.1.2) Funktionen mit komplexen Zahlen

33

6.1.3) Stückweise kontinuierliche Funktionen

33

6.1.4) Rundungsfunktionen

34

6.1.5) Funktionen der Zahlentheorie und Kombinatorik

34

6.1.6) Diskrete Transformationsfunktionen

35

6.1.7) Interpolations- und Vorhersage-Funktionen

36

6.1.8) Regression

37

6.1.9) Zugriff auf Textdateien

38

6.1.10) Weitere Funktionen

39

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) Gleichungslösung 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) Gewöhnliche Differentialgleichungen 9.1.1) Lösung einer DGL mittels SOLVE-Block

64

9.1.2) Differentialgleichungs-Lösungsfunktionen 9.1.2.1) Anfangswertprobleme 9.1.2.1.1) Runge-Kutta-Methode 4. Ordnung

66

9.1.2.1.2) Spezialisierte Differentialgleichungslöser

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) Oberflächen-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 Einführung

Mathematik-Software für

numerische

symbolische

Berechnungen

Mathematik-Software für numerische symbolische Berechnungen Mathcad-Arbeitsblatt nach dem Starten Definition eines neuen

Mathcad-Arbeitsblatt nach dem Starten

Definition eines neuen Dokumentes

<Strg>N

Laden einer bestehenden Datei

<Strg>O

Sichern eines Mathcad-Dokumentes

<Strg>S

Schließen eines Dokumentes

<Strg>W

Dateityp eines Mathcad-Dokumentes

.mcd

- 2 -

- 2 -

Mathcad-Dokument

Berechnungs- Diagrammbereiche

Textbereiche

- 3 -

bereiche

 
 

Definitions-

x-y-Diagramme

Textfeld

 

gleichung

@

"

:=

Numerische

Polar-Diagramme

 
 

Berechnungs-

<Strg>7

gleichung

=

Symbolische

Oberflächen-

 
 

Berechnungs-

diagramme

gleichung

<Strg>2

Bedingungs-

Kontur-Diagramme

 
 

gleichung in Lösungs-blöcken

<Strg>5

=

> < ≤ ≥

Lokale

3D-Balken-

 
 

Definitions-

diagramme

gleichung in

Programm-

Bereichen

 

3D-Punkthaufen-

 

diagramme

Vektorfeld-

 

Diagramme

Animation

Zeichnungen

(Sketches)

1) Definitionsgleichung

Globale

Gilt für das gesamte Dokument

Definition

Lokale

- 4 -

Gilt ab der Definition bis zur nächsten Definition der gleichen Größe

Globale Definition

def ausdr

Name einer einfachen Größe oder Funktion def := ausdr Name der definierten Größe (Unterscheidung zwischen
Name einer einfachen
Größe oder Funktion
def := ausdr
Name der definierten Größe
(Unterscheidung zwischen
Groß- und Kleinschreibung,
griechische Buchstaben,
Tiefstellen durch .
z.B.
a.1 → a 1 )
Einfache Größe
Vektor
(Matrix mit einer Spalte)
<Strg>M
Matrix
<Strg>M
Indizierte Größe
a i,k := ausdr
[
Bereichsvariable
;
Funktion
fun(par 1 ,par 2 ,
)

Arithmetischer Ausdruck von Konstanten und anderen globalen Größen

Lokale Definition

Arithmetischer Ausdruck

von definierten Größen und Funktionen von definierten Größen oder von Parametern einer Funktion oder

Bereichsausdruck

Standardeinstellung ORIGIN 0

Standardeinstellung ORIGIN 0

var := awert,nwert;ewert

:= ausdr

2) Numerische Berechnungsgleichung

def = Ergebnis

ausdr = Ergebnis

- 5 -

- 5 -
- 5 -

- 6 -

- 6 -

- 7 -

3) Symbolisches Rechnen

Mathcad enthält einen Teil des Software-Pakets MAPLE, der für das symbolische Rechnen verwendet wird. Der symbolische Prozessor wird beim Start von Mathcad 2001 Professional automatisch geladen.

3.1) Symbolische Berechnungsgleichung

ausdr Ergebnis

ausdr Schlüsselwort Ergebnis

<Strg>.

→ Ergebnis ausdr Schlüsselwort → Ergebnis <Strg>. ⇒ → <Strg>< >. ⇒ ▪ →

<Strg>< >.

→ Ergebnis ausdr Schlüsselwort → Ergebnis <Strg>. ⇒ → <Strg>< >. ⇒ ▪ →

- 8 -

Anpassung der symbolischen Berechnung durch Schlüsselwörter:

Schlüsselwort

Funktion

 

complex

Symbolische Berechnung in der komplexen Zahlenebene, Ergebnis ist in der Form a+ib

float,m

Ergebnis ist Fließkommawert mit m Ziffern 1m250

 

simplify

Arithmetische Vereinfachung durch Kürzen gemeinsamer Faktoren und Verwendung von Identitäten der trigoniometrischen und inversen Funktionen,

simplify,

zusätzlich werden alle Unbekannten als reellwertig angenommen,

 

assume=real

simplify,

oder zusätzlich werden alle Unbekannten als reellwertig im Bereich zwischen den reellen Zahlen a und b angenommen,

 

assume=

RealRange(a,b)

simplify,trig

oder zusätzlich erfolgt die Vereinfachung nur unter der Verwendung der Identitäten

 

sin(

x

)

2

+ cos(

x

)

2

=

1

und

cosh( )

x

2

sinh( )

x

2

=

1

expand[,ausdr]

Entwickeln aller Produkte und Potenzen von Summen in einen Ausdruck außer für den Subausdruck ausdr

 

factor[,ausdr]

Faktorisierung in ein Produkt, wenn möglich, unter Berücksichtigung von ausdr als eine einzelne Größe oder mehrere Größen, getrennt durch Kommas

solve,var

Lösung einer Gleichung für die Variable var, oder eines Gleichungssystems für die Variablen im Vektor var

 

collect,

Zusammenfassung gleicher Ausdrücke im Hinblick auf die Variablen oder Unterausdrücke var1 bis varn

 

var1

varn

coeffs,var

Ermittlung der Koeffizienten eines Ausdrucks, wenn dieser als Polynom in der Variablen oder im Unterausdruck var dargestellt wird

 

substitute,

Ersetzen der Variablen var1 durch die Variable oder den Ausdruck var2 (<Strg>+ für fettgedrucktes =)

 

var1=var2

series,var[=z,m]

Reihenentwicklung einer oder mehrer Variablen var um den Punkt z mit der Ordnung m Standardeinstellung: z = 0 und m = 6

 

- 9 -

Schlüsselwort

Funktion

 

convert,

Partialbruchzerlegung nach der im Nenner des Ausdrucks stehenden Variablen var

parfrac,var

fourier,var

Fourier-Transformation eines Ausdruckes bezüglich der Variablen var in eine Funktion der Variablen ω

+∞

f t e

( )

i ω t

dt

−∞

invfourier,var

Inverse Fourier-Transformation eines Ausdruckes bezüglich der Variablen var in eine Funktion der Variablen t

 

1

π

+∞

F

(

)

ω

e

i

ω

t

d

ω

2

−∞

laplace,var

Laplace-Transformation eines Ausdruckes bezüglich der Variablen var in eine Funktion der Variablen s

+∞

f

(t ) e

s t

dt

0

invlaplace,var

Inverse Laplace-Transformation eines Ausdruckes bezüglich der Variablen var in eine Funktion der Variablen t

2

1

π

σ

+

i

ω

s t

F s e ds

(

)

 
 

σ

i

ω

ztrans,var

Z-Transformation eines Ausdruckes bezüglich der Variablen var in eine Funktion der Variablen z

 

+∞

f ( n ) z

n

n = 0

 

invztrans,var

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

 

1 F z z

π i

C

(

)

n 1

dz

2

Dabei ist C eine Kontur um alle singulären Punkte des Integranden F ( z )

- 10 -

Schlüsselwort

Funktion

assume,beding

Auswertung eines Ausdruckes unter Festlegen einer Nebenbedingung beding für eine oder mehrere Variablen

assume,var=real

Auswertung eines Ausdruckes unter der Annahme alle Unbekannten seien reellwertig

assume,var=

Auswertung eines Ausdruckes unter der Annahme alle Unbekannten seien reellwertig im Bereich der reellen Zahlen a und b

RealRange(a,b)

unter der Annahme alle Unbekannten seien reellwertig im Bereich der reellen Zahlen a und b RealRange(

- 11 -

- 11 -
- 11 -

- 12 -

3.2) Benützung des Symbolic-Menüs

Im Menü Symbolic stehen folgende Prozeduren zur Verfügung:

Evaluate Simplify Expand Factor Collect Polynomial Coefficients

Variable

Matrix

Transform

Evaluation Style

M atrix ► T ransform ► Eva luation Style S ymbolically < > F9 F loating
S ymbolically < > F9 F loating Point C omplex

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

- 13 -

Benützung der Funktionen aus dem Symbolics-Menü:

- 13 - Benützung der Funktionen aus dem Symbolics-Menü:
- 13 - Benützung der Funktionen aus dem Symbolics-Menü:

4) Vektoren und Matrizen:

Erstellen durch:

a) Insert-Matrix-Kommando:

Menü Insert Matrix oder

■■■ ■■■ ■■■
■■■
■■■
■■■

Mathematik-Tool Bar

<Strg>M

■■■ ■■■ ■■■
■■■
■■■
■■■
Bar • <Strg>M ■■■ ■■■ ■■■ oder - 14 - b) Verwendung von Bereichsvariablen c)

oder

- 14 -

b) Verwendung von Bereichsvariablen

c) Einzelwertzuweisung an die indizierte Vektor- oder Matrizen- Variable

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

Component File Read or Write Read from a file Auf den Platzhalter erfolgt die Eingabe des

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

e) Eingabe in eine Tabelle:

- 15 -

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 auswählen durch Anklicken rechte Maustaste Import

Option Import eingelesen: Wie e) aber statt Werteeingabe Tabelle auswählen durch Anklicken rechte Maustaste Import

- 16 -

- 16 -
- 16 -

4.1) Operatoren

- 17 -

Operation

Bild

Taste

Multiplikation mit Skalar

Az

*

Skalarprodukt zweier Vektoren

uv

*

Matrix-Multiplikation

AB

*

Vektor/Matrix-Multiplikation

Av

*

Division durch Skalar

A/z

/

Addition eines Skalars

A+z

+

Vektor- und Matrix-Addition

A+B

+

Subtraktion eines Skalars

A-z

-

Vektor- und Matrix-Subtraktion

A-B

-

Negation von Vektor und Matrix

-A

-

Potenz einer quadrat. Matrix, Inverse (n=-1)

M

n

^

Betrag eines Vektors

|v|

|

Determinante einer quadratischen Matrix

|M|

|

Transponierte Matrix

A

T

<Strg>1

Kreuzprodukt zweier Dreielement-Vektoren

u x v

<Strg>8

Konjugiert komplexe Matrix (elementweise)

 

A

"

Summe aller Vektorelemente

v

<Strg>4

   

r

 

Element per Element-Operation (Vectorize)

A

<Strg>-

n-ter Spaltenvektor der Matrix

A

<n>

<Strg>6

n-tes Vektorelement

v

n

[

(m,n)-tes Matrixelement

A

m,n

[

4.2) Funktionen 4.2.1) Größe

- 18 -

Funktion

Funktionsergebnis

rows(A)

Anzahl der Zeilen des Feldes A

cols(A)

Anzahl der Spalten des Feldes A

length(v)

Anzahl der Elemente des Vektors v

last(v)

Indexzahl des letzten Vektorelementes

max(A)

Größtes Element des Feldes A

min(A)

Kleinstes Element des Feldes A

letzten Vektorelementes max( A ) Größtes Element des Feldes A min( A ) Kleinstes Element des

4.2.2) Spezielle Matrizen

- 19 -

Funktion

Funktionsergebnis

identity(n)

Einheitsmatrix I

Re(A)

Feld der Realteile des Feldes A

Im(A)

Feld der Imaginärteile des Feldes A

diag(v)

Diagonalmatrix mit den Vektorelementen v

geninv(A)

Linksinverse Matrix L von A, LA=I

rref(A)

Zeilenreduzierte Echelonform von A

v geninv( A ) Linksinverse Matrix L von A , L ⋅ A = I rref(

- 20 -

4.2.3) Funktionen zum Bilden von neuen Matrizen

Funktion

Funktionsergebnis

 

augment(A,B,C,

)

Matrix gebildet durch Nebeneinanderstellen von A, B, C,

 

Die Matrizen A, B, C, Zeilenanzahl besitzen

müssen gleiche

stack(A,B,C,

)

Matrix gebildet durch Übereinanderstellen von A, B, C,

 

Die Matrizen A, B, C, Spaltenanzahl besitzen

müssen gleiche

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 is > js

umgekehrte Zeilenanordnung umgekehrte Spaltenanordnung

matrix(m,n,f)

Matrix, bei der das i,j-te Element den Funktionswert f(i,j) enthält

i

= 0,1,

m-1

j = 0,1,

n-1

f

muß bereits davor definiert sein

CreateMesh(F,[[s0],

Vektor dreier eingebetteter Matrizen, die die x-, y- und z-Koordinaten einer parametrischen Oberfläche definiert durch F darstellen. F ist eine dreielementige Vektorfunktion zweier Variablen.

[s1],[t0],[t1],[sgrid],

 

[tgrid],[fmap]])

CreateSpace(F,[[t0],

Vektor dreier eingebetteter Vektoren, die die x-, y- und z-Koordinaten einer Raumkurve definiert durch F darstellen. F ist eine dreielementige Vektorfunktion einer Variablen.

[t1],[tgrid],[fmap]])

 

- 21 -

- 21 -

- 22 -

4.2.4) Charakteristische Matrixgrößen

Funktion

Funktionsergebnis

tr(M)

Spur der quadratischen Matrix M

rank(A)

Rang der reellen Matrix A

norm1(M)

L 1 -Norm der quadratischen Matrix M

norm2(M)

L 2 -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 L 1 -Norm

cond2(M)

Kondition basierend auf der L 2 -Norm

conde(M)

Kondition basierend auf der euklidischen Norm

condi(M)

Kondition basierend auf der Zeilensummennorm

conde( M ) Kondition basierend auf der euklidischen Norm condi( M ) Kondition basierend auf der

- 23 -

4.2.5) Eigenwerte und Eigenvektoren

Funktion

Funktionsergebnis

eigenvals(M)

Vektor der Eigenwerte der quadrat. Matrix M

eigenvec(M,z)

normalisierter Eigenvektor für Eigenwert z von M

eigenvecs(M)

Matrix der normalisierten Eigenvektoren von M, n-ter Spaltenvektor ist Eigenvektor des n-ten Eigenwertes nach eigenvals(M)

genvals(M,N)

Vektor v der Eigenwerte des generalisierten Eigenwertproblems Mx = v i Nx

M,N

quadrat., gleichgroße, reellw. Matrizen zum Eigenwert v i gehörender Eigenvektor

x

genvecs(M,N)

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

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

4.2.6) Zerlegung von Matrizen

- 24 -

Funktion

Funktionsergebnis

cholesky(M)

Untere Dreiecksmatrix L, so daß LL T = M, benützt nur den oberen Dreiecksteil von M, dieser um die Diagonale gespiegelt muß eine positiv definite Matrix ergeben

qr(A)

Matrix, die orthonormale Matrix Q neben der oberen Dreiecksmatrix R enthaltend, so daß A = QR

lu(M)

Matrix, nebeneinander die quadratischen Matrizen P, L und U enthaltend, so daß PM = LU

L

untere Dreiecksmatrix

U

obere Dreiecksmatrix

svd(A)

Matrix, übereinander die Matrizen U und V enthaltend, so daß A = Udiag(s)V T

A

mxn reelwertiges Feld, wobei m n obere mxn Submatrix untere nxn Submatrix Vektor s := svds(A)

U

V

s

svds(A)

Vektor der singulären Werte von A

A

mxn reelwertiges Feld, wobei m n

- 25 -

- 25 -

- 26 -

- 26 -

4.2.7) Sortier-Funktionen

- 27 -

sort(v)

Sortiert die Elemente des Vektors v in aufsteigender Reihenfolge

csort(A,n)

Sortiert die Zeilen der Matrix A entsprechend der Elemente der Spalte n in aufsteigender Reihenfolge

rsort(A,n)

Sortiert die Spalten der Matrix A entsprechend der Elemente der Zeile n in aufsteigender Reihenfolge

reverse(v)

Kehrt die Elementanordnung des Vektors v um

reverse(A)

Kehrt die Zeilenanordnung der Matrix A um

v ) Kehrt die Elementanordnung des Vektors v um reverse( A ) Kehrt die Zeilenanordnung der

- 28 -

5) Schrittweise Berechnung (seeded iteration)

5.1) Eine Variable

Beispiel: Näherungsweise Lösung einer nichtlinearen Gleichung, wobei ein verbesserter Näherungswert aus dem vorhergehenden berechnet wird

Lösung einer nichtlinearen Gleichung, wobei ein verbesserter Näherungswert aus dem vorhergehenden berechnet wird

- 29 -

5.2) Mehrere Variable

Beispiel: Bilanzierung einer Bodenkolonne

. . N g,0 N f,0 Y i+1 X i+1 . N i+1 Y i
.
.
N g,0
N f,0
Y i+1
X i+1
.
N
i+1
Y i
X i

X =

&

N

f

&

N

f , 0

x =

X

1 X

+

Y =

&

N

g

&

N

g , 0

y =

Y

1 Y

+

y

&

N

i + 1

i + 1

&

N

i + 1

= H x

i

=

(X

=

(Y

i

i

X

i + 1

) N &

Y

i + 1

) N &

g,0

f,0

N i + 1 i + 1 & N i + 1 = H ⋅ x

- 30 -

- 30 -

- 31 -

5.3 Vektor

Beispiel: Mehrfache Transformation eines Vektors, A ist die Transformationsmatrix

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

- 32 -

Beispiel: Linearisierte Bilanzierung einer Bodenkolonne

. . N g,0 N f,0 Y i+1 X i+1 . N i+1 Y i
.
.
N g,0
N f,0
Y i+1
X i+1
.
N
i+1
Y i
X i

&

N

&

N

i + 1

i + 1

X

i + 1

=

=

(X

i

(Y

i

X

i + 1

&

) N

f,0

Y

i + 1

) N &

g,0

= (1 + H

&

N

g,0

 

&

N

g,0

) X

&

N

f,0

i

&

N

f,0

Y

i+1

&

=

N i + 1

&

N g,0

H X

i

linearisiert

=

-H X + Y

i

i

Y

i

N f,0 i & N f,0 Y i+1 & = N i + 1 & N

6) Funktionen

6.1) Mathcad-Funktionen

6.1.1) Transzendente Funktionen

- 32 -

x, y

rellwertige Ausdrücke komplexwertiger Ausdruck

m, n a, b, c

Ordnung

z

Parameter

Trigono-

Hyper-

Bessel

Exponent.

Spezielle

metrische

bolische

Logarithm.

sin(z)

sinh(z)

J0(x)

exp(z)

erf(x)

cos(z)

cosh(z)

J1(x)

ln(z)

erfc(x)

tan(z)

tanh(z)

Jn(m,x)

log(z[,b])

Γ(z)

cot(z)

coth(z)

js(n,x)

 

Γ(x,y)

csc(z)

csch(z)

Y0(x)

 

fhyper(a,b,c,x)

sec(z)

sech(z)

Y1(x)

 

Her(n,x)

asin(z)

asinh(z)

Yn(x)

 

ibeta(a,n,x)

acos(z)

acosh(z)

ys(n,x)

 

Jac(n,a,b,x)

atan(z)

atanh(z)

I0(x)

 

Lag(n,x)

atan2(x,y)

acoth(z)

I1(x)

 

Leg(n,x)

acot(z)

acsch(z)

In(m,x)

 

mhyper(a,b,x)

acsc(z)

asech(z)

K0(x)

 

Tcheb(n,x)

asec(z)

 

K1(x)

 

Ucheb(n,x)

angle(x,y)

 

Kn(m,x)

   
   

bei(n,x)

   
   

ber(n,x)

   
   

Ai(x)

   
   

Bi(x)

   

- 33 -

6.1.2) Funktionen mit komplexen Zahlen

x,y

z

rellwertige Ausdrücke komplexwertiger Ausdruck

rellwertige Ausdrücke komplexwertiger Ausdruck

Re(z)

Realteil von z

Im(z)

Imaginärteil von z

arg(z)

Argument von z, -π ≤ arg(z) ≤ π

csgn(z)

0 für z = 0

1 für Re(z)>0 oder (Re(z)=0 und

Im(z)>0)

-1

ansonsten

signum(z)

1

für z = 0 ansonsten

z/|z|

6.1.3) Stückweise kontinuierliche Funktionen

if(bed,tw,fw)

tw

wenn bed 0 (true)

 

fw

wenn bed = 0 (false)

bed:

w = z w z

x > y x < y

x y x y

δ(m,n)

Kronecker’sche Deltafunktion

 

1

für m = n

0

ansonsten

ε(i,j,k)

Antisymetrischer Tensor vom Rang 3

0

für zwei gleiche Werte i, j, k

1

für gerade Permutationen für ungerade Permutationen zwischen ORIGIN und ORIGIN+2

-1

i, j, k

Φ(x)

Heaviside Sprungfunktion

 

0

für x < 0

1

für x 0

sign(x)

0

für x = 0

1

für x > 0 für x < 0

 

-1

6.1.4) Rundungsfunktionen

- 34 -

ceil(x)

Kleinste Integerzahl x

floor(x)

Größte Integerzahl x

round(x[,n])

Rundung von x auf n Dezimalstellen,

n

< 0

Rundung links vom Dezimalpunkt,

n

fehlt

Rundung auf nächste Integerzahl

trunc(x)

Abschneiden der Nachkommastellen von x

6.1.5) Funktionen der Zahlentheorie und Kombinatorik

combin(n,k)

Anzahl der Kombinationen von n Objekten in k Elementen; k,n ganze Zahlen 0 k n

permut(n,k)

Anzahl der Permutationen von n Objekten in k Elementen; k,n ganze Zahlen 0 k n

lcm(A,B,C,

)

Kleinstes gemeinsames Vielfaches

gcd(A,B,C,

)

Größter gemeinsamer Nenner von A, B, C,

mod(x,y)

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 Größe wie A

icfft(A)

Inverse Fast-Fourier-Transformation,

A

komplexwertiger Vektor oder Matrix

Ergebnis ist ein Feld gleicher Größe wie A

fft(v)

Fast-Fourier-Transformation,

v

rellwertiger Vektor mit 2 m Elementen, m>2

ifft(v)

Inverse Fast-Fourier-Transformation,

v

Vektor mit 1+2 n-1 Elementen

Ergebnis ist ein Vektor mit 2 n Elementen, n>2

CFFT(A)

Fast-Fourier-Transformation identisch mit cfft, jedoch mit unterschiedlicher Normierung und unterschiedlicher Vorzeichen-Vereinbarung

ICFFT(A)

Inverse Fast-Fourier-Transformation zu CFFT,

A

komplexwertiger Vektor oder Matrix

Ergebnis ist ein Feld gleicher Größe wie A

FFT(v)

Fast-Fourier-Transformation identisch mit fft, jedoch mit unterschiedlicher Normierung und unterschiedlicher Vorzeichen-Vereinbarung

IFFT(v)

Inverse Fast-Fourier-Transformation zu FFT,

v

Vektor mit 1+2 n-1 Elementen

Ergebnis ist ein Vektor mit 2 n Elementen, n>2

wave(v)

Wavelet-Transformation,

v

rellwertiger Vektor mit 2 m Elementen

Ergebnis ist ein Vektor gleicher Größe

iwave(v)

Inverse Wavelet-Transformation, rellwertiger Vektor mit 2 m Elementen

v

Ergebnis ist ein Vektor gleicher Größe

- 36 -

6.1.7) Interpolations- und Vorhersage-Funktionen

vx

Vektor der Abszissenwerte der Stützpunkte in aufsteigender

vy

Reihenfolge Vektor der Ordinatenwerte der Stützpunkte

vs

Vektor der Splinekoeffizienten in den Stützpunkten

u

Vektor der Abszissenwerte der Knoten für den B-Spline

n

Ordnung des B-Splines

Mxy

nx2-Matrix der Abszissen- und Ordinatenwerte der Stützpunkte

Mz

auf einem Rechteckgitter in aufsteigender Reihenfolge nxn-Matrix der z-Werte der Stützpunkte

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)

Lineare Interpolation

 

Kubische Spline-Interpolation von Kurven

lspline(vx,vy)

vs mit geraden Randabschnitten

pspline(vx,vy)

vs mit parabol. Randabschnitten

cspline(vx,vy)

vs mit kub. Randabschnitten

interp(vs,vx,vy,x)

y für x

 

Kubische Spline-Interpolation von Oberflächen

lspline(Mxy,Mz)

vs mit geraden Randabschnitten

pspline(Mxy,Mz)

vs mit parabol. Randabschnitten

cspline(Mxy,Mz)

vs mit kub. Randabschnitten

interp(vs,Mxy,Mz,v)

z für v

 

B-Spline-Interpolation von Kurven

bspline(vx,vy,u,n)

vs für B-Spline der Ordnung n

interp(vs,vx,vy,x)

y für x

 

Lineare Vorhersage

predict(v,m,n)

Vektor der Vorhersagewerte Anzahl der letzten Datenwerte im Vektor v als Vorhersagebasis

m

n

Anzahl der Vorhersagewerte

6.1.8) Regression

- 37 -

vx

Vektor der Abszissenwerte der Stützpunkte

vy

Vektor der Ordinatenwerte der Stützpunkte

span

maximaler Ordinatenabstand der Fitkurve von den

vs

Datenpunkten Vektor der Polynomkoeffizienten

x

Abszisse des zu interpolierenden Punktes

Mxy

nx2-Matrix der Abszissen- und Ordinatenwerte der

vz

Stützpunkte n-Element-Vektor der z-Werte der Stützpunkte

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 für die Fitparameter a,b,c der spezialisierten Regression, bzw. die Fitparameter in F

 

Lineare Regression

intercept(vx,vy)

Ordinatenabschnitt der Fitgeraden

slope(vx,vy)

Neigung der Fitgeraden

line(vx,vy)

Ordinatenabschnitt und Neigung

stderr(vx,vy)

Standard-Fehlerabweichung

medfit(vx,vy)

Ordinatenabschnitt und Neigung für Median-Median-Regression

 

Polynom-Regression einer Kurve

regress(vx,vy,n)

vs für Polynom n-ter Ordnung

loess(vx,vy,span)

vs für Satz von Polynomen 2. Ordnung

interp(vs,vx,vy,x)

y für x

 

Polynom-Regression einer Oberfläche

regress(Mxy,vz,n)

vs für Polynom n-ter Ordnung

loess(Mxy,vz,span)

vs für Satz von Polynomen 2. Ordnung

interp(vs,Mxy,vz,v)

z für v

- 38 -

 

Spezialisierte Regression

expfit(vx,vy,vg)

Vektor der Fitparameter a,b,c der Fitfunktion aexp(bx) + c

lgsfit(vx,vy,vg)

Vektor der Fitparameter a,b,c der Fitfunktion a/[1+bexp(-cx)]

logfit(vx,vy,vg)

Vektor der Fitparameter a,b,c der Fitfunktion aln(x) b + c

pwrfit(vx,vy,vg)

Vektor der Fitparameter a,b,c der Fitfunktion ax b + c

sinfit(vx,vy,vg)

Vektor der Fitparameter a,b,c der Fitfunktion asin(x + b) + c

 

Generalisierte Regression

linfit(vx,vy,F)

Vektor der Koeffizienten für die Linearkombinationen der F i

genfit(vx,vy,vg,F)

Vektor der Fitparameter in F

6.1.9) Zugriff auf Textdateien

datei

Name [und Pfad] einer strukturierten ASCII-Datendatei als Zeichenkette in Anführungszeichen oder als Textvariable. Bei einer Eingabedatei müssen die Datenwerte in einer Zeile durch Tabulatorzeichen getrennt sein und in jeder Zeile müssen 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)

WRITEPRN(datei)

Die Zeilen einer Matrix werden in die Zeilen einer Datei ausgegeben, z.B.: WRITEPRN(datei):=A

APPENDPRN(datei)

Eine Matrix wird an eine bestehende Datei, die die gleiche Spaltenanzahl haben muß,

angehängt, z.B.:

APPENDPRN(datei):=A

6.1.10) Weitere Funktionen

- 39 -

Glättungsfunktionen

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 Benützerfunktion durch einen Ausdruck

fun(f 1 ,f 2 , ,v 1 ,v 2 , ) := ausdr{f 1 ,f
fun(f 1 ,f 2 ,
,v
1 ,v 2 ,
)
:= ausdr{f 1 ,f 2 ,
,v
1 ,v 2 ,
,a
1 ,a 2 ,
}
formale Parameter
der Funktion
definierte
Ausdrücke
formale Funktionsnamen
formale Parameter
der Funktion
beliebiger Name für die
zu definierende Funktion
formale Funktionsaufrufe,
mit Parametern v 1 ,v 2 ,
und/oder definierten Ausdrücken
fun(f 1 ,f 2 ,
,v
1 ,v 2 ,
)
= Ergebnis

oder

erg := fun(f 1 ,f 2 , ,v 1 ,v 2 , ) aktuelle, vollständig
erg := fun(f 1 ,f 2 ,
,v
1 ,v 2 ,
)
aktuelle, vollständig
definierte Ausdrücke
aktuelle Funktionsnamen von
Mathcad-Funktionen oder
definierten Benützerfunktionen

7) Programmierung

- 41 -

7) Programmierung - 41 -
7) Programmierung - 41 -

- 42 -

7.1) Bedingungsanweisungen

Funktionsdefinition

Bei selektiertem Platzhalter klick "Add Line"

Bei selektiertem oberen Platzhalter klick "if"

Eingabe auf die selektierten oberen Platzhalter

Bei selektiertem unteren Platzhalter klick "otherwise"

Eingabe auf den selektierten unteren Platzhalter

f( x) f( x) f( x) if f( x) 0 if x > 2 f(
f( x)
f( x)
f( x)
if
f( x)
0
if
x
> 2
f( x)
0
if
x
> 2
otherwise
f( x)
0
if
x
> 2
2
4
x
otherwise

- 43 -

- 43 -
- 43 -

- 44 -

7.2) Schleifenanweisungen 7.2.1) While-Schleife

Klick "While"

Eingabe bei selektiertem oberen bzw. unteren Platzhalter

Bei selektiertem unteren j klick ""

Eingabe auf den selektierten rechten unteren Platzhalter

Anfügen einer weiteren Programmzeile: Bei selektiertem gesamten unteren Ausdruck klick "Add Line"

while while Grenzwert v j j while Grenzwert v j j while Grenzwert v j
while
while
Grenzwert
v j
j
while
Grenzwert
v j
j
while
Grenzwert
v j
j
j
1
while
Grenzwert
v j
j
j
1

- 45 -

- 45 -
- 45 -

- 46 -

- 46 -

7.2.2) For-Schleife

Klick "For"

Eingabe bei selektiertem linken oberen Platzhalter

Eingabe des Bereiches bei selektiertem rechten oberen Platzhalter

Eingabe auf den selektierten unteren Platzhalter und Klicken

Eingabe des Ausdruckes auf den selektierten unteren Platzhalter

- 47 -

for ∈ for i ∈ for i ∈ 1 n for i ∈ 1 n
for
for
i ∈
for
i ∈
1
n
for
i ∈
1
n
s
for
i ∈
1
n
s
s
i
unteren Platzhalter - 47 - for ∈ for i ∈ for i ∈ 1 n for

- 48 -

- 48 -
- 48 -

- 49 -

- 49 - 7.3) Rekursive Programmierung

7.3) Rekursive Programmierung

- 49 - 7.3) Rekursive Programmierung

- 50 -

7.4) Programmablauf-Kontrolle 7.4.1) Vorzeitige Beendigung eines Schleifendurchlaufes

Selektiere Platzhalter

Klick "if"

Klick "continue" Trage Bedingung ein

Selektiere Platzhalter Klick "if" Klick "continue" Trage Bedingung ein if continue if
if
if

continue if

continue if
Selektiere Platzhalter Klick "if" Klick "continue" Trage Bedingung ein if continue if

- 51 -

7.4.2) Vorzeitige Beendigung einer Schleife

Selektiere Platzhalter

Klick "if"

Klick "break" Trage Bedingung ein

Beendigung einer Schleife Selektiere Platzhalter Klick "if" Klick "break" Trage Bedingung ein if break if
if
if
break if
break if
Beendigung einer Schleife Selektiere Platzhalter Klick "if" Klick "break" Trage Bedingung ein if break if

- 52 -

7.4.3) Vorzeitige Beendigung eines Programms

Selektiere Platzhalter

Klick "if"

Klick "return" Trage Rückgabewert und Bedingung ein

Selektiere Platzhalter Klick "if" Klick "return" Trage Rückgabewert und Bedingung ein if return if
if
if
return
return

if

return if
Selektiere Platzhalter Klick "if" Klick "return" Trage Rückgabewert und Bedingung ein if return if

- 53 -

7.4.4) Fehlerbehandlung Anweisung für die Fehlerbehandlung: "on error"

Selektiere Platzhalter

Klick "on error", trage normal auszuführende Anweisung ein

Trage Anweisung für den Fehlerfall ein

Anweisung ein Trage Anweisung für den Fehlerfall ein on erro r on erro r anweisun g

on error

on erro r
on erro r anweisun g

on error

anweisung

Anweisung zur Ausgabe von Fehlertext: "error()"

Selektiere Platzhalter

Klick "if"

Trage "error" mit Fehlertext ein

Trage Fehlerbedingung ein

Klick "if" Trage "error" mit Fehlertext ein Trage Fehlerbedingung ein if error(“ Fehlertext “) if
if
if

error(“ Fehlertext“) if

error(“ Fehlertext “) if

- 54 -

- 54 -
- 54 -
- 54 -

- 55 -

- 55 -
- 55 -

8) Gleichungslösung 8.1) Lineare Gleichungen

Gleichungssystem

8.1.1) Mittels invertierter Koeffizientenmatrix

Mx = a

- 56 -

x := M -1 a

Koeffizientenmatrix M ⋅ x = a - 56 - x := M -1 ⋅ a 8.1.2)

8.1.2) Mittels der Funktion lsolve

x := lsolve(M,a)

Koeffizientenmatrix M ⋅ x = a - 56 - x := M -1 ⋅ a 8.1.2)

8.2) Nichtlineare Gleichungen

Vorgabe der Genauigkeit durch Voreingestellter Wert

8.2.1) root-Funktion

- 57 -

TOL := epsilon TOL 10 -3

Nullstellen-Suche für eine Variable mit numerischem Ergebnis

Startwert-Vorgabe

Lösungsbereich-Vorgabe

Zahlenergebnis

Zahlenergebnis

var := Startwert root(ausdr,var) = Ergebnis

root(ausdr,var,a,b) = Ergebnis

Variablendefinition für Ergebnis

Variablendefinition für 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 abhängt und der zu

var

Null werden soll. Variable für die die Nullstelle von ausdr gesucht werden soll.

a, b

Definierte Ausdrücke für die Grenzen des Bereiches in dem die Nullstelle liegen soll. Damit eine Nullstelle gefunden wird, müssen die Werte von ausdr für a und b unterschiedliches Vorzeichen haben.

Funktionsdefinition für mehrere Ergebnisse:

Startwert-Vorgabe

fun([var,]v 1 ,v 2 ,

)

:= root(ausdr,var)

Beliebiger Funktionsname
Beliebiger Funktionsname
Beliebiger Funktionsname
Beliebiger Funktionsname
Beliebiger Funktionsname

Beliebiger Funktionsname

Beliebiger Funktionsname
Variable, die in ausdr enthalten sind
Variable, die in ausdr enthalten sind
Variable, die in ausdr enthalten sind
Variable, die in ausdr enthalten sind
Variable, die in ausdr enthalten sind
Variable, die in ausdr enthalten sind

Variable, die in