Vorige: , Nach oben: Winkelfunktionen   [Inhalt][Index]

10.5.2 Funktionen und Variablen für Winkelfunktionen

Funktion: asin (z)
Funktion: acos (z)
Funktion: atan (z)
Funktion: acot (z)
Funktion: acsc (z)
Funktion: asec (z)

Die inversen Winkelfunktionen: Arkussinus, Arkuskosinus, Arkustangens, Arkuskotangens, Arkuskosekans und Arkussekans.

Die inversen Winkelfunktionen sind für das numerische und symbolische Rechnen geeignet. Die inversen Winkelfunktionen können für reelle und komplexe Gleitkommazahlen in doppelter und in beliebiger Genauigkeit berechnet werden. Ist das Argument eine ganze oder rationale Zahl, werden die inversen Winkelfunktionen nicht numerisch berechnet, sondern vereinfacht. Die numerische Berechnung kann mit den Optionsvariablen und Auswertungsschaltern numer und float erzwungen werden.

Die inversen Winkelfunktionen sind bis auf die Funktionen acos und asec als ungerade definiert. Die Funktionen acos und asec vereinfachen für ein negatives Argument -x zu %pi-acos(x) und %pi-asec(x). Für die inversen Winkelfunktion asin, acos und atan ist die Spiegelsymmetrie für den Fall implementiert, dass das komplexe Argument x+%i*y einen Realteil abs(x)<1 hat.

Ist das Argument z eine Matrix, eine Liste oder eine Gleichung werden die inversen Winkelfunktionen auf die Elemente der Matrix, der Liste oder auf die beiden Seiten der Gleichung angewendet. Dieses Verhalten wird von der Optionsvariablen distribute_over kontrolliert.

Inverse Winkelfunktionen können für das symbolische Rechnen verwendet werden. Maxima kann Ausdrücke mit inversen Winkelfunktionen differenzieren und integrieren, Grenzwerte bestimmen sowie Gleichungen mit inversen Winkelfunktionen lösen.

Das Argument der inversen Winkelfunktionen kann eine Taylorreihe sein. In diesem Fall wird die Taylorreihenentwicklung für die inverse Winkelfunktion vollständig ausgeführt.

Die folgenden Optionsvariablen kontrollieren die Vereinfachung der inversen Winkelfunktionen:

distribute_over

Hat die Optionsvariable distribute_over den Wert true und ist das Argument der inversen Winkelfunktion eine Matrix, Liste oder Gleichung wird die Funktion auf die Elemente oder beiden Seiten der Gleichung angewendet. Der Standardwert ist true.

%piargs

Hat die Optionsvariable %piargs den Wert true, werden die inversen Winkelfunktionen für spezielle Werte als Argument vereinfacht. Der Standardwert ist true.

%iargs

Hat die Optionsvariable %iargs den Wert true und ist das Argument der inversen Winkelfunktion ein Vielfaches der imaginären Einheit %i werden die inversen Winkelfunktionen zu inversen Hyperbelfunktionen vereinfacht. Der Standardwert ist true.

triginverses

Hat die Optionsvariable triginverses den Wert all und ist das Argument die entsprechende Winkelfunktion vereinfachen die inversen Winkelfunktionen, zum Beispiel vereinfacht asin(sin(x)) zu x. Der Standardwert ist true und die Vereinfachung wird nicht vorgenommen.

logarc

Hat die Optionsvariable logarc den Wert true, werden inverse Winkelfunktionen durch Logarithmusfunktionen ersetzt. Der Standardwert von logarc ist false.

Funktion: atan2 (y, x)

Ist der Arkustangens mit zwei Argumenten, der in Maxima wie folgt definiert ist:

     atan(y/x)           x>0
     atan(y/x) + %pi     x<0 und y>=0
     atan(y/x) - %pi     x<0 und y<0
       %pi / 2           x=0 und y>0
     - %pi / 2           x=0 und y<0
     nicht definiert     x=0 und y=0

Mit der obigen Definition ist der Wertebereich des Arkustangens -%pi < atan2(y,x) <= %pi. Alternativ kann der Arkustangens mit zwei Argumenten definiert werden als

                              %i y + x
     atan2(y, x) = - %i log(-------------)
                                  2    2
                            sqrt(y  + x )

Der Arkustangens ist für das symbolische und numerische Rechnen geeignet. Für reelle Argumente x und y deren Vorzeichen bestimmt werden kann, vereinfacht Maxima den Arkustangens wie oben in der Definition angegeben. Sind beide Argumente Gleitkommazahlen wird ein numerisches Ergebnis berechnet. Die numerische Berechnung für komplexe Gleitkommazahlen ist nicht implementiert. Weiterhin kennt Maxima die speziellen Werte, wenn eines der Argumente x oder y unendlich ist. atan2(x, x) und atan2(x, -x) werden von Maxima vereinfacht, wenn Maxima das Vorzeichen von x ermitteln kann.

Die Vereinfachung des Arkustangens wird weiterhin von den folgenden Optionsvariablen kontrolliert:

distribute_over

Hat die Optionsvariable distribute_over den Wert true und ist das Argument des Arkustangens eine Matrix, Liste oder Gleichung wird die Funktion auf die Elemente oder beiden Seiten der Gleichung angewendet. Der Standardwert ist true.

trigsign

Hat die Optionsvariable trigsign den Wert true, vereinfacht Maxima atan2(-y, x) zu - atan2(y, x). Der Standardwert ist true.

logarc

Hat die Optionsvariable logarc den Wert true, wird der Arkustangens durch einen Ausdruck mit der Logarithmusfunktionen ersetzt. Der Standardwert von logarc ist false.

Maxima kann Ausdrücke mit dem Arkustangens ableiten und integrieren sowie die Grenzwerte von Ausdrücken mit dem Arkustangens ermitteln.

Beispiele:

(%i1) atan2([-1, 1],[-1, 0, 1]);
              3 %pi    %pi    %pi    3 %pi  %pi  %pi
(%o1)     [[- -----, - ---, - ---], [-----, ---, ---]]
                4       2      4       4     2    4
(%i2) atan2(1,[-0.5, 0.5]);
(%o2)         [2.034443935795703, 1.10714871779409]
(%i3) assume(a>0)$

(%i4) atan2(2*a, -2*a);
                              3 %pi
(%o4)                         -----
                                4
(%i5) diff(atan2(y,x), x);
                                 y
(%o5)                       - -------
                               2    2
                              y  + x
(%i6) integrate(atan2(y,x), x);
                          2    2
                   y log(y  + x )          y
(%o6)              -------------- + x atan(-)
                         2                 x
Funktion: sin (z)
Funktion: cos (z)
Funktion: tan (z)
Funktion: cot (z)
Funktion: csc (z)
Funktion: sec (z)

Die Winkelfunktionen: Sinus, Kosinus, Tangens, Kotangens, Kosekans und Sekans.

Die Winkelfunktionen sind für das numerische und symbolische Rechnen geeignet. Die Winkelfunktionen können für reelle und komplexe Gleitkommazahlen in doppelter und in beliebiger Genauigkeit berechnet werden. Ist das Argument eine ganze oder rationale Zahl, werden die Winkelfunktionen nicht numerisch berechnet, sondern vereinfacht. Die numerische Berechnung kann mit den Optionsvariablen und Auswertungsschaltern numer und float erzwungen werden.

Die Winkelfunktionen sind gerade oder ungerade und haben Spiegelsymmetrie. Maxima wendet diese Symmetrieeigenschaften automatisch bei der Vereinfachung von Ausdrücken mit Winkelfunktionen an.

Ist das Argument z eine Matrix, eine Liste oder eine Gleichung werden die Winkelfunktionen auf die Elemente der Matrix, der Liste oder auf die beiden Seiten der Gleichung angewendet. Dieses Verhalten wird von der Optionsvariablen distribute_over kontrolliert.

Winkelfunktionen können für das symbolische Rechnen verwendet werden. Maxima kann Ausdrücke mit Winkelfunktionen differenzieren und integrieren, Grenzwerte bestimmen sowie Gleichungen und Differentialgleichungen mit Winkelfunktionen lösen.

Das Argument der Winkelfunktionen kann eine Taylorreihe sein. In diesem Fall wird die Taylorreihenentwicklung für die Winkelfunktion vollständig ausgeführt.

Die folgenden Optionsvariablen kontrollieren die Vereinfachung der Winkelfunktionen:

distribute_over

Hat die Optionsvariable distribute_over den Wert true und ist das Argument der Winkelfunktion eine Matrix, Liste oder Gleichung wird die Funktion auf die Elemente oder beiden Seiten der Gleichung angewendet. Der Standardwert ist true.

%piargs

Hat die Optionsvariable %piargs den Wert true, werden die Winkelfunktionen für ganzzahlige und halbzahlige Vielfache der Konstanten %pi zu speziellen Werten vereinfacht. Der Standardwert ist true.

%iargs

Hat die Optionsvariable %iargs den Wert true und ist das Argument der Winkelfunktion ein Vielfaches der imaginären Einheit %i werden die Winkelfunktionen zu Hyperbelfunktionen vereinfacht. Der Standardwert ist true.

trigsign

Hat die Optionsvariable trigsign den Wert true, werden die gerade oder ungerade Symmetrie der Winkelfunktionen bei der Vereinfachung angewendet. Der Standardwert ist true.

triginverses

Hat die Optionsvariable triginverses den Wert true und ist das Argument eine inverse Winkelfunktion vereinfachen die Winkelfunktionen zu einem einfachen algebraischen Ausdruck, zum Beispiel vereinfacht sin(acos(x)) zu sqrt(1-x^2). Der Standardwert ist true.

trigexpand

Hat die Optionsvariable trigexpand den Wert true, dann werden die Winkelfunktionen für ein Argument expandiert, das eine Summe oder ein Produkt mit einer ganzen Zahl ist. Der Standardwert ist false.

exponentialize

Hat die Optionsvariable exponentialize den Wert true, dann werden die Winkelfunktionen in eine Exponentialform transformiert. Der Standardwert ist false.

halfangles

Hat die Optionsvariable halfangles den Wert true, dann werden die Winkelfunktionen für halbzahlige Argumente zu einem äquivalenten Ausdruck transformiert. Der Standardwert ist false.

Beispiele:

Im Folgenden werden Beispiele für die Sinusfunktion gezeigt. Numerische Berechnungen für Gleitkommazahlen:

(%i1) sin(1+%i);
(%o1)                      sin(%i + 1)
(%i2) sin(1.0+%i);
(%o2)       .6349639147847361 %i + 1.298457581415977
(%i3) sin(1.0b0+%i);
(%o3)     6.349639147847361b-1 %i + 1.298457581415977b0
(%i4) sin(1.0b0),fpprec:45;
(%o4)   8.41470984807896506652502321630298999622563061b-1

Einige Vereinfachungen der Sinusfunktionen:

(%i5) sin(%i*(x+y));
(%o5)                    %i sinh(y + x)
(%i6) sin(%pi/3);
                             sqrt(3)
(%o6)                        -------
                                2
(%i2) sin(x+y),trigexpand:true;
(%o2)             cos(x) sin(y) + sin(x) cos(y)
(%i3) sin(2*x+y),trigexpand:true;
           2         2
(%o3)  (cos (x) - sin (x)) sin(y) + 2 cos(x) sin(x) cos(y)

Grenzwerte, Ableitungen und Integrale mit der Sinusfunktion:

(%i4) limit(sin(x)/x,x,0);
(%o4)                          1
(%i5) diff(sin(sqrt(x))/x,x);
                  cos(sqrt(x))   sin(sqrt(x))
(%o5)             ------------ - ------------
                        3/2            2
                     2 x              x
(%i6) integrate(sin(x^3),x);
(%o6) 
                         1      3                     1        3
        gamma_incomplete(-, %i x ) + gamma_incomplete(-, - %i x )
                         3                            3
      - ---------------------------------------------------------
                                   12

Reihenentwicklung der Sinusfunktion:

(%i7) taylor(sin(x),x,0,3);
                              3
                             x
(%o7)/T/                 x - -- + . . .
                             6
Optionsvariable: %piargs

Standardwert: true

Hat %piargs den Wert true, werden Winkel- und Hyperbelfunktionen sowie deren Inverse zu algebraischen Konstanten vereinfacht, wenn das Argument ein ganzzahliges Vielfaches der folgenden Konstanten ist: %pi, %pi/2, %pi/3, %pi/4 oder %pi/6.

Maxima kennt weiterhin einige Identitäten, wenn die Konstante %pi mit einer Variablen multipliziert wird, die als ganzzahlig deklariert wurde.

Beispiele:

(%i1) %piargs : false$
(%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
                                %pi       %pi
(%o2)            [sin(%pi), sin(---), sin(---)]
                                 2         3
(%i3) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
                      %pi       %pi       %pi
(%o3)            [sin(---), sin(---), sin(---)]
                       4         5         6
(%i4) %piargs : true$
(%i5) [sin (%pi), sin (%pi/2), sin (%pi/3)];
                                sqrt(3)
(%o5)                    [0, 1, -------]
                                   2
(%i6) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
                         1         %pi   1
(%o6)                [-------, sin(---), -]
                      sqrt(2)       5    2
(%i7) [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3),
       cos (sqrt(2)*%pi/3)];
                1    1               sqrt(2) %pi
(%o7)          [-, - -, sqrt(3), cos(-----------)]
                2    2                    3

Weitere Identitäten werden angewendet, wenn %pi und %pi/2 mit einer ganzzahligen Variable multipliziert werden.

(%i1) declare (n, integer, m, even)$
(%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m),
       cos (%pi/2 * m)];
                                      m/2
(%o2)                  [0, 1, 0, (- 1)   ]
Optionsvariable: %iargs

Standardwert: true

Hat %iargs den Wert true, werden Winkelfunktionen zu Hyperbelfunktionen vereinfacht, wenn das Argument ein Vielfaches der imaginären Einheit %i ist.

Die Vereinfachung zu Hyperbelfunktionen wird auch dann ausgeführt, wenn das Argument offensichtlich reell ist.

Beispiele:

(%i1) %iargs : false$
(%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
(%o2)           [sin(%i x), cos(%i x), tan(%i x)]
(%i3) %iargs : true$
(%i4) [sin (%i * x), cos (%i * x), tan (%i * x)];
(%o4)           [%i sinh(x), cosh(x), %i tanh(x)]

Auch wenn das Argument offensichtlich reell ist, wird zu einer Hyperbelfunktion vereinfacht.

(%i1) declare (x, imaginary)$
(%i2) [featurep (x, imaginary), featurep (x, real)];
(%o2)                     [true, false]
(%i3) sin (%i * x);
(%o3)                      %i sinh(x)
Optionsvariable: halfangles

Standardwert: false

Hat halfangles den Wert true, werden Winkel- und Hyperbelfunktionen mit halbzahligen Argumenten expr/2 vereinfacht.

Für ein reelles Argument x im Intervall 0 < x < 2*%pi vereinfacht der Sinus für ein halbzahliges Argument zu einer einfachen Formel:

                         sqrt(1 - cos(x))
                         ----------------
                             sqrt(2)

Ein komplizierter Faktor wird gebraucht, damit die Formel korrekt ist für ein komplexes Argument z:

           realpart(z)
     floor(-----------)
              2 %pi
(- 1)                   (1 - unit_step(- imagpart(z))

                            realpart(z)            realpart(z)
                      floor(-----------) - ceiling(-----------)
                               2 %pi                  2 %pi
                ((- 1)                                          + 1))

Maxima kennt diesen Faktor und ähnliche Faktoren für die Sinus, Kosinus, Sinus Hyperbolicus und Kosinus Hyperbolicus Funktionen. Für spezielle Argumente \(z\) dieser Funktionen vereinfachen diese Funktionen entsprechend.

Beispiele:

(%i1) halfangles:false;
(%o1)                                false
(%i2) sin(x/2);
                                        x
(%o2)                               sin(-)
                                        2
(%i3) halfangles:true;
(%o3)                                true
(%i4) sin(x/2);
                                                    x
                                            floor(-----)
                                                  2 %pi
                      sqrt(1 - cos(x)) (- 1)
(%o4)                 ----------------------------------
                                   sqrt(2)
(%i5) assume(x>0, x<2*%pi)$
(%i6) sin(x/2);
                               sqrt(1 - cos(x))
(%o6)                          ----------------
                                   sqrt(2)
Paket: ntrig

Das Paket ntrig enthält Regeln, um Winkelfunktionen zu vereinfachen, die Argumente der Form f(n %pi/10) haben. f ist eine der Funktionen sin, cos, tan, csc, sec oder cot.

Das Kommando load("ntrig") lädt das Paket. Die Vereinfachungen werden dann von Maxima automatisch ausgeführt.

Funktion: trigexpand (expr)

Die Funktion trigexpand expandiert Winkel- und Hyperbelfunktionen im Ausdruck expr, die Summen und Vielfache von Winkeln als Argument haben. Die besten Ergebnisse werden erzielt, wenn der Ausdruck expr zunächst expandiert wird.

Folgende Schalter kontrollieren trigexpand:

trigexpand

Wenn true, werden Sinus- und Kosinusfunktionen expandiert.

halfangles

Wenn true, werden Vereinfachungen für halbzahlige Argumente angewendet.

trigexpandplus

Wenn true, werden Winkelfunktionen, die eine Summe als Argument haben, wie zum Beispiel sin(x+y), vereinfacht.

trigexpandtimes

Wenn true, werden Winkelfunktionen, die ein Produkt als Argument haben, wie zum Beispiel sin(2 x), vereinfacht.

Beispiele:

(%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;
                         2           2
(%o1)               - sin (x) + 3 cos (x) + x
(%i2) trigexpand(sin(10*x+y));
(%o2)          cos(10 x) sin(y) + sin(10 x) cos(y)
Optionsvariable: trigexpandplus

Standardwert: true

trigexpandplus kontrolliert die Vereinfachung von Winkelfunktionen mit der Funktion trigexpand für den Fall, dass Winkelfunktionen mit Summen als Argumente auftreten. Hat trigexpandplus den Wert true, werden zum Beispiel Winkelfunktionen wie sin(x+y) vereinfacht.

Optionsvariable: trigexpandtimes

Standardwert: true

trigexpandtimes kontrolliert die Vereinfachung von Winkelfunktionen mit der Funktion trigexpand für den Fall, dass Winkelfunktionen mit Produkten als Argumente auftreten. Hat trigexpandtimes den Wert true, werden zum Beispiel Winkelfunktionen wie sin(2 x) vereinfacht.

Optionsvariable: triginverses

Standardwert: true

Kontrolliert die Vereinfachung, wenn das Argument einer Winkelfunktion oder Hyperbelfunktion eine der inversen Funktion ist.

Hat triginverses den Wert all, vereinfachen beide Ausdrücke atan(tan(x)) und tan(atan(x)) zum Wert x.

Hat triginverses den Wert all, wird arcfun(fun(x)) nicht vereinfacht.

Hat triginverses den Wert false, werden arcfun(fun(x)) und fun(arcfun(x)) nicht vereinfacht.

Funktion: trigreduce (expr, x)
Funktion: trigreduce (expr)

Produkte und Potenzen von Winkelfunktionen und den Hyperbelfunktionen mit dem Argument x werden zu Funktionen vereinfacht, die Vielfache von x enthalten. trigreduce versucht auch, Sinus- und Kosinusfunktionen in einem Nenner zu eliminieren. Wird keine Variable x angegeben, werden alle Variablen im Ausdruck expr betrachtet.

Siehe auch poissimp.

(%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x);
               cos(2 x)      cos(2 x)   1        1
(%o1)          -------- + 3 (-------- + -) + x - -
                  2             2       2        2
Optionsvariable: trigsign

Standardwert: true

Hat trigsign den Wert true, werden Winkelfunktionen mit einem negativem Argument vereinfacht. Zum Beispiel vereinfacht in diesem Fall sin(-x) zu -sin(x).

Funktion: trigsimp (expr)

Wendet die Identitäten sin(x)^2 + cos(x)^2 = 1 und cosh(x)^2 - sinh(x)^2 = 1 an, um Ausdrücke, die Funktionen wie tan, sec, usw. enthalten, zu Ausdrücken mit den Funktionen sin, cos, sinh, cosh zu vereinfachen.

Die Anwendung von Funktionen wie trigreduce, ratsimp und radcan kann den Ausdruck weiter vereinfachen.

Das Kommando demo(trgsmp) zeigt einige Beispiele.

Funktion: trigrat (expr)

Gives a canonical simplifyed quasilinear form of a trigonometrical expression; expr is a rational fraction of several sin, cos or tan, the arguments of them are linear forms in some variables (or kernels) and %pi/n (n integer) with integer coefficients. The result is a simplified fraction with numerator and denominator linear in sin and cos. Thus trigrat linearize always when it is possible.

(%i1) trigrat(sin(3*a)/sin(a+%pi/3));
(%o1)            sqrt(3) sin(2 a) + cos(2 a) - 1

The following example is taken from Davenport, Siret, and Tournier, Calcul Formel, Masson (or in English, Addison-Wesley), section 1.5.5, Morley theorem.

(%i1) c : %pi/3 - a - b$
(%i2) bc : sin(a)*sin(3*c)/sin(a+b);
                                          %pi
                  sin(a) sin(3 (- b - a + ---))
                                           3
(%o2)             -----------------------------
                           sin(b + a)
(%i3) ba : bc, c=a, a=c;
                                         %pi
                    sin(3 a) sin(b + a - ---)
                                          3
(%o3)               -------------------------
                                  %pi
                          sin(a - ---)
                                   3
(%i4) ac2 : ba^2 + bc^2 - 2*bc*ba*cos(b);
         2         2         %pi
      sin (3 a) sin (b + a - ---)
                              3
(%o4) ---------------------------
                2     %pi
             sin (a - ---)
                       3
                                       %pi
 - (2 sin(a) sin(3 a) sin(3 (- b - a + ---)) cos(b)
                                        3
             %pi            %pi
 sin(b + a - ---))/(sin(a - ---) sin(b + a))
              3              3
      2       2              %pi
   sin (a) sin (3 (- b - a + ---))
                              3
 + -------------------------------
                2
             sin (b + a)
(%i5) trigrat (ac2);
(%o5) - (sqrt(3) sin(4 b + 4 a) - cos(4 b + 4 a)
 - 2 sqrt(3) sin(4 b + 2 a) + 2 cos(4 b + 2 a)
 - 2 sqrt(3) sin(2 b + 4 a) + 2 cos(2 b + 4 a)
 + 4 sqrt(3) sin(2 b + 2 a) - 8 cos(2 b + 2 a) - 4 cos(2 b - 2 a)
 + sqrt(3) sin(4 b) - cos(4 b) - 2 sqrt(3) sin(2 b) + 10 cos(2 b)
 + sqrt(3) sin(4 a) - cos(4 a) - 2 sqrt(3) sin(2 a) + 10 cos(2 a)
 - 9)/4

Vorige: , Nach oben: Winkelfunktionen   [Inhalt][Index]

JavaScript license information