Vorige: Einführung in Winkelfunktionen, Nach oben: Winkelfunktionen [Inhalt][Index]
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
.
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
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
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) ]
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)
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)
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.
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)
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.
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.
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.
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
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)
.
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.
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: Einführung in Winkelfunktionen, Nach oben: Winkelfunktionen [Inhalt][Index]