sin cos etc

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • sin cos etc

    Hallo

    ich bekomm gleich pickel nen baby und was weiß ich noch ich sitze jetzt 4 stunde an einer sache und komm einfach nicht weiter!!! es kommt nicht das raus, was rauskommen soll irgendwie liefert mir die sinus funktion einen anderen wert... keine ahnung was ich falsch mache:

    PHP-Code:
    <?php

    define
    ("RADIUS"6378.137);
    define("PI"3.141592653);




    $test = array(
            array(
    "grad" => 50"minute" => 59"sekunde" => 00,"name" => "Erfurt, Zentrum"),
            array(
    "grad" => 11"minute" => 02"sekunde" => 00),
            array(
    "grad" => 52"minute" => 31"sekunde" => 00,"name" => "Berlin, Zentrum"),
            array(
    "grad" => 12"minute" => 24"sekunde" => 00),
            array(
    "grad" => 51"minute" => 00"sekunde" => 58,"name" => "Erfurt, Roterbergsiedlung"),
            array(
    "grad" => 11"minute" => 01"sekunde" => 56),
            array(
    "grad" => 50"minute" => 56"sekunde" => 77,"name" => "Gotha, Zentrum"),
            array(
    "grad" => 10"minute" => 42"sekunde" => 20),
            array(
    "grad" => 40"minute" => 42"sekunde" => 51,"name" => "New York, Manhatten"),
            array(
    "grad" => 74"minute" => 00"sekunde" => 23),
            );
        
    for(
    $i=2;$i 9;$i += 2)    
        {
            
    $breite_1 = ($test[0]["sekunde"]/60 $test[0]["minute"])/60 $test[0]["grad"];
    $lange_1 = ($test[1]["seckunde"]/60 $test[1]["minute"])/60 $test[1]["grad"];
            
    $breite_2 = ($test[$i]["seckunde"]/60 $test[$i]["minute"])/60 $test[$i]["grad"];
    $lange_2 = ($test[$i+1]["seckunde"]/60 $test[$i+1]["minute"])/60 $test[$i+1]["grad"];

    //$breite_1 /= 180 * PI;
    //$lange_1 /= 180 * PI;

    //$breite_2 /= 180 * PI;
    //$lange_2 /= 180 * PI;

    $e =  acos((sin($breite_1) * sin($breite_2)) + (cos($breite_1) * cos($breite_2) * cos($lange_2-$lange_1)));

    print (
    sin($breite_1); 

    $entfernung $e RADIUS;

    if(
    $i == 2){

    print 
    "Sie befinden sich in " .$test[0]["name"]. "<br />";
    print 
    "In Ihrem Umfeld befinden sich folgende Sehenswürdigkeiten: <br /><br />";
    print 
    "----------------------------------------------------------<br / >";
    }
    print 
    $test[$i]["name"]. "<br />";
    print 
    "Die Entfernung zu " .$test[0]["name"]. " beträgt: $entfernung km<br />";
    print 
    "----------------------------------------------------------<br / >";


    }


    ?>
    http://www.karomue.privat.t-online.d...tfernung_2.xls
    http://www.koordinaten.de/informationen/formel.shtml

    so wie bei diesen beiden links soll es arbeiten aber das tut es irgendwie nicht ich habe schon alle getestet :-(

    im exel doc sind in der "Q" spalte die sinus ergebnisse zu sehen, die ich aber nicht erhalte!!!!

    was mache ich falsch?

    mfg
    Zuletzt geändert von exillin; 05.07.2006, 13:00.

  • #2
    sinus kann kein falsche wert liefern.
    es kann zwar ein Wert nicht genau genug liefern, aber in keinem fall ein falsche
    kann sein, dass du ein Wert in grad (°) erwartest?
    Dann ist das falsch, da die Winkelfunktionen fast in allen programmier -sprachen mit Radlianen( Bogenmaß ) arbeiten.
    Slava
    bituniverse.com

    Kommentar


    • #3
      hmm stellenweise stimmen die werte überien, mit dennen, die ich erwarte aber stellenweise auch nicht ich hab ja auch schon mit asin und acos gearbeitet aber brauchte auch keinen erfolg zumal es eigentlich im bogenmaß berechnet werden soll...

      mfg

      Kommentar


      • #4
        die Functionen die du benutzt, sind leider bei kleineren Abständen zwischen 2 Punkten sehr fehlerhaft.
        schau dir die Informationen zu OpenGeoDb
        http://opengeodb.hoppe-media.com/ind...?LinksGeoDaten
        auch in diesem Forum findest du Threads zu dieser Thema, die über 9 Seiten laufen.
        Slava
        bituniverse.com

        Kommentar


        • #5
          Ohne die Formel nachzuprüfen -
          die Umwandlung ins Bogenmass, welche auskommentiert ist, muss wieder rein.
          Ich würde den Faktor in Klammern setzen bzw. überhaupt schreiben
          PHP-Code:
          $breite_1 *= (PI/180);
          usw
          Dann hat es einen Syntaxfehler, es fehlt eine Klammer.
          PHP-Code:
          print (sin($breite_1); 
          Ich nehme den Code noch in die Sandbox und komme nochmals.

          Kommentar


          • #6
            Die Sandbox hat es gefunden; hier der richtige Code:
            Code:
            <html>
            <body>
            <pre>
            Sie befinden sich in Erfurt, Zentrum
            In Ihrem Umfeld befinden sich folgende Sehenswürdigkeiten: 
            
            ----------------------------------------------------------
            Berlin, Zentrum
            Die Entfernung zu Erfurt, Zentrum beträgt: 194.943220369 km
            ----------------------------------------------------------
            Erfurt, Roterbergsiedlung
            Die Entfernung zu Erfurt, Zentrum beträgt: 3.64963571859 km
            ----------------------------------------------------------
            Gotha, Zentrum
            Die Entfernung zu Erfurt, Zentrum beträgt: 23.1976664887 km
            ----------------------------------------------------------
            New York, Manhattan
            Die Entfernung zu Erfurt, Zentrum beträgt: 4858.47795628 km
            ----------------------------------------------------------
            
            </pre>
            </body>
            </html>
            Spass beiseite, es heisst
            PHP-Code:
            $breite_1 /= 180 PI;
            usw
            abgesehen von noch drei Parse Errors.

            Kommentar


            • #7
              hmm hab die umwandlung wieder drinne... aber immer noch keine besserung :-)

              der syntaxfehler war mir hier beim posten passiert...
              hmm wegen der genauigkeit ist diese für meine zwecke erstmal ausreichend...

              mfg

              Kommentar


              • #8
                wow super mega fettes Danke für die Lösung!!! nun klappt es!!!
                wie bieste auf die Lösung gekommen???

                mfg

                Kommentar


                • #9
                  Original geschrieben von exillin
                  wie bieste auf die Lösung gekommen???

                  mfg
                  Ganz einfach - ich versteh was von der Sache.

                  Kommentar


                  • #10
                    hmm axo :-) naja ich hab den Fehler gar nicht da oben gesucht, weil ich diese Rechnung für richtig hielt und ich diese auch nachgelesen hatte....
                    naja nochmal viele dank!!
                    ich war schon fast am verzweifeln :-)

                    mfg

                    Kommentar

                    Lädt...
                    X