Excel Formel in PHP

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

  • Excel Formel in PHP

    Hallo,
    ich habe Probleme eine Formel von Excel in PHP umzusetzten.


    Die Formel in EXCEL lautet
    =((2000/60^2)/24)*1,2^C3* (1 - 0,01 * 1,2^C2)
    Das Ergebnis für c3 = 15 und c2 = 20 ergibt 0,219915261
    und wird von Excel in T:hh:mm:ss umberechnet --> 0:05:16:41
    Es gibt eine Zeitspanne an.


    Dies möchte ich nun in ein PHP script umschreiben.
    Dafür habe ich die Formel in PHP umgeschrieben als
    $C3=15;
    $C2=20;
    $exponent=$C3*(1-0.01*(bcpow(1.2,$C2,20)));
    $needed_time=((2000/3600)/24)*bcpow(1.2,$exponent,20);
    echo $needed_time;

    --> Ergebnis 0.11943936

    Wo ist mein Fehler ?

    Wie muß ich die Formel in PHP implementieren ??
    Wie kann ich dann den Wert in Stunden:Minuten:Sekunden umrechnen ??



    Vielen Dank für Eure Hilfe schon einmal im voraus.
    Tessa

  • #2
    Wie kann ich dann den Wert in Stunden:Minuten:Sekunden umrechnen ??
    date

    Kommentar


    • #3
      hab mir doch mal die mühe gamacht, deine formel umzusetzen.

      auf die schnelle hab ich ein ergebnis von 0.2152777778 raus. In wie weit das Richtig ist, vermag ich jetzt nicht zu sagen.

      EDIT:
      Bekomme jetzt die 0.11943936 raus. Hatte nicht gesehen, dass der Rest in den Exoinent kommt.
      Zuletzt geändert von TobiaZ; 24.03.2005, 17:34.

      Kommentar


      • #4
        Okay, hat mir keine Ruhe gelassen. Es sieht so aus, als wäre der zweite multiplikator schuld.

        Zerlege deine Formel mal in ihre bestandteile. Für den Multiplikator bekommst du folgende werte:

        In Excell: 5,399777325
        In PHP: 5.159780352

        Kommentar


        • #5
          also, ich weiß nicht was ihr habt oder wo ihr Mathematik abgeguckt habt , aber die Formel in Excel läßt sich ganz einfach umschreiben:
          PHP-Code:
          $C3=15;
          $C2=20;
          echo 
          $needed_time=((2000/3600)/24)*bcpow(1.2,$C3,20)*
                                           (
          1-0.01*(bcpow(1.2,$C2,20))); 
          Output: 0.21991526118157

          Kommentar


          • #6
            @asp: du wirst lachen: 0.02291666667

            wird aber vermutlich an meiner einstellung von bcmath liegen (die ich übrigens noch nicht eingesehen habe).

            Kommentar


            • #7
              hallo zusammen,

              vielen Dank für Eure hilfe.

              @asp ... irgendwie logisch aber nun ja , ich bin ja ein glück nicht die einzige, die das nicht auf anhieb geschafft hat.


              Danke

              Tessa

              Kommentar

              Lädt...
              X