math2 library

This library is available as

math2 expands the mathematical operations and functions of the standard C/C++ libraries.

The main goals are:

Bibliography
  • Lothar Papula, "Mathematische Formelsammlung für Ingenieure und Naturwissenschaftler" published 9th edition, August 2006, Vieweg Verlag
  • Bronstein, Semandjajew, Musiol, Mühlig, "Taschenbuch der Mathematik" published Verlag Harri Deutsch

Grundlegende Begriffe über Mengen

Definition und Darstellung einer Menge

Unter einer Menge M versteht man die Zusammenfassung gewisser wohlunterschiedener Objekte, Elemente genannt, zu einer Einheit.[Papula]

Zur Darstellung von Mengen (in aufzählender Form) bietet sich das "array"- Konstrukt an. Zur Darstellung von Elementen gibt es die Datentypen. In C/C++ kann man von allen Datentypen, auch der selbst definierten, arrays anlegen. Das array-Konstrukt kann also zur Darstellung von Mengen, in aufzählender Form, verwendet werden. Die mathematisch definierte Menge darf jedoch nur aus wohlunterschiedenen Elementen bestehen. D.h. der Programmierer muß diese Eigenschaft der mathematischen Menge sicherstellen, wenn er sie denn benötigt.

Ebenso sind die Operationen auf Mengen (z.B. ist Element von) nicht im Standard C/C++ enthalten.

Mengen in beschreibender Form sind sehr individuell und müssen mittels geeigneten Algorithmen geschrieben werden. Beispiel:

Die Transformationsgleichung für einen 2-achsigen Knickarm Roboter liefert immer beide mögliche Lösungen für die Achskoordinaten um einen Punkt anzufahren. Die gesuchte Lösung beschreibt aber z.B. die Lösungsmenge mit

solution = { (a1,a2) | a1 beliebig, a2 >= 0 }

Übersetzt: Wir suchen nur die Lösung(en), bei der die Winkelposition der 2. Achse positive ist, da sonst der Roboter sich einmal strecken muß um die Armigkeit zu ändern.

Die Template-Klasse fixArray in dieser Library bietet auch einige Operationen auf Mengen an.

Die vordefinierten Grunddatentypen in C/C++ sind:

und deren Verweise (Pointer) auf diese Datentypen. Also void*, char*, short*, ...

Mit dem Schlüsselwort typedef können in der Programmiersprache C/C++ eigene Datentypen definiert werden. Mit dem Schlüsselwort struct können mehrere Datentypen (auch selbst definierte) zu einem Element zusammengefasst werden. Beispiel:

typedef struct unitNumber
{
  double number; //floating point number
  int unit; //e.g. 0 = Meter, 1 = Grad, ...
} UNIT_NUMBER; 

In einem array können die Elemente direkt oder über einen Verweis referenziert werden. Beispiel:

Grundlagen der Mathematik

Zahlen

Die Menge der natürlichen Zahlen, N = {0,1,2,3,...}, können auf dem Computer mit Hilfe von standard C "Datentypen" (eingeschränkt) dargestellt werden:

Für die Menge der ganzen Zahlen, Z = {...,-3,-2,-1,0,1,2,3,...}, werden die gleichen Datentypen verwendet (8, 16, 32, 64 bit). Das hoechstwertige Bit wird dabei als Vorzeichen interpretiert. Somit ergibt sich folgender Wertebereich:

Die Menge der rationalen Zahlen, Q = { x | x = p / q } mit p Element Z und q Element Z ohne 0, werden die Datentypen für Fliesskommazahlen verwendet (32, 64 bit):

Author:
Eckhardt Feyhl (2010 Nov. 18)
 All Classes Files Functions Variables Typedefs Defines
Generated on Mon Nov 22 06:27:34 2010 by  doxygen 1.6.3