Hallo,

an dieser Stelle ** Serial.println (x); *** zeigt der Serielle Monitor ein Ergebnis von 53624.64.
Richtig wäre jedoch 45612.1192716036 !!

Und 1000 * 1000 ist 16960.00!!??

Wie kann das sein?

Code:
//  **************************************Unterprogramm lzahn2Prog  *******************************
float lzahn2Prog ( float x1, float y1) {

  //  float P0_P1 = sqrt(pow(x1,2) + pow(y1,2));    //Gerade P0-P1
  float P0_P1 = sqrt(x1 * x1 + y1 * y1); //Gerade P0-P1

  float CosinusW4 = (114196 - pow(P0_P1, 2)) / 102960;
  float W4 = acos(CosinusW4);     // die Ausgabe erfolgt im Bogenmaß
  float lzahn2 = sqrt(   (21164.49 - cos (W4 + 3.14159265358979323846 / 180 * 5.26)) *  20574   );

 double x = 231.56994*231.56994;
  Serial.print ("x = ");
  Serial.println (x);
  Serial.println (CosinusW4);
  Serial.println   (W4);
  delay(2000);
  return lzahn2;     // die Ausgabe erfolgt im Bogenmaß
}
Gruß
fredyxx