Die Gleichung "x = cos x"

wird gelöst durch den Wert x = 0.739085...
Da ich keine explizite algebraische geschlossene Lösung kenne, nähere ich mich hier mit verschiedenen Ansätzen.

Wolfram Alpha

liefert mit der Anfrage
https://www.wolframalpha.com/input?i=cos (x) = 1.0*x
(https://www.wolframalpha.com/input?i=cos%28x%29%3D1.0*x)
das Ergebnis
x ~= 0.739085
zurück.

Grafische Lösung

Betrachte die Gleichungsseiten als separate Funktionen und lege sie in einer Grafik übereinander.
  f(x) = cos x  (blaue Kurve)
  g(x) = x      (rote Kurve)
Im Schnittpunkt kann der Wert x ~= 0.7 abgelesen werden.

Wie die obige Grafik erstellt wurde, kann hier nachgelesen werden.

Geometrische Konstuktion

Die Gleichung "sin x = cos x" mag oberflächlich schwieriger erscheinen. Die geometrische Lösung, ein rechtwinklig gleichschenkliches Dreieck mit dem Winkel 45 Grad, lässt hoffen, dass sich für die fragliche Gleichung bei der geometrichen Betrachtung ein Lösungsansatz erkennen lässt.

Mit zunehmendem Winkel von 0 bis PI/2 nimmt der Kosinus (gegenläufig) von 1 bis 0 ab, um bei 0.739085 gleich zu werden.

Iterative Lösung

Die iterative Methode startet mit dem Intervall [0, 1] und führt wiederholt folgende Schritte aus:
  1. Berechne die Mitte m des aktuellen Intervalls (im 1. Schritt m = 0.5)
  2. Stelle fest, in welcher Hälfte der gesuchte Wert x liegt
  3. Wenn gilt "cos m > m" (was im 1. Schritt mit "cos 0.5 > 0.5" der Fall ist), wird m die neue untere Intervallgrenze
  4. Im anderen Fall wird m die neue obere Intervallgrenze
Diese Schritte werden so lange wiederholt, bis das Intervall durch die fortgesetzte Halbierung die gewünschte Größe (bzw Kleinheit) hat.

Das recapis-Programm

u=0.0;
o=1.0;
for(i=0;i<10;i++){
  m=u+(o-u)/2;
  if(cos m > m) u=m;
  else          o=m;
  $='['
    ,'%1.7f' printf u    ,' , '
    ,'%1.7f' printf o    ,'] '
    ,'%1.7f' printf (o-u),'\n';
}
gibt folgende Intervalle aus:
   unter       ober       groesse
[0.5000000 , 1.0000000] 0.5000000
[0.5000000 , 0.7500000] 0.2500000
[0.6250000 , 0.7500000] 0.1250000
[0.6875000 , 0.7500000] 0.0625000
[0.7187500 , 0.7500000] 0.0312500
[0.7343750 , 0.7500000] 0.0156250
[0.7343750 , 0.7421875] 0.0078125
[0.7382812 , 0.7421875] 0.0039062
[0.7382812 , 0.7402344] 0.0019531
[0.7382812 , 0.7392578] 0.0009766
[0.7387695 , 0.7392578] 0.0004883
[0.7390137 , 0.7392578] 0.0002441
[0.7390137 , 0.7391357] 0.0001221
[0.7390747 , 0.7391357] 0.0000610
[0.7390747 , 0.7391052] 0.0000305
[0.7390747 , 0.7390900] 0.0000153
, was sehr schön die Anzahl der signifikanten Dezimalstellen (5) und damit als Ergebnis 0.9390 zeigt.

Tayler-Reihe

Kosinus als Tayler-reihe darstellen:
x = 1 - x^3/3! + x^5/5! - x^7/7! ...
Auch hier kann ich keinen Ansatz erkennen.

Umformung

Vielleicht hilft eine Umformung
cos x =        x  // beiderseits die Arccos-funktion anwenden
    x = arccos x
Nein! arccos ist noch komplizierter!