Script bricht ohne ersichtlichen Grund ab :(

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

  • Script bricht ohne ersichtlichen Grund ab :(

    Hallo erstmal ... mein erster Post ...

    Bei folgendem Script habe ich 2 Probleme:

    ( Die wichtigen Formeln sind unten noch einmal in einem Kommentar zusammen gefasst. )

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    define('g'9.80665);
    function 
    fmlw($t=0,$b=10,$c=1,$v=0,$a=0,$rc=0,$cw=0,$S=0,$Af=0,$m=0) { // Fall mit Luftwiderstand
            
    $fmlw = array($cw$S$Af$m);
            
    $k = (($cw*$S*$Af)/(2*$m)); // const. k
            
    $tn round(($t+0.01),2); $Vmax sqrt(1/$k); $rcn 0;
            echo 
    "\n\t<!-- Vmax: ".$Vmax." / k: ".$k."-->";
            if(
    $t==0) {
                    foreach(
    $fmlw as $key) {
                            if(!
    is_numeric($key)) {
                                    print(
    "Fehler mit einer Variable!");
                            };
                    };
                    
    $vn sqrt((g*$t));             // v abeim ersten mal
                    
    $an g;                        // a beim ersten mal
            
    } else {
                    
    $vn sqrt(($a*$t)+$v);       // Vneu = (($a*$t)+Valt)
                    
    $an = (g*(1-$k*pow($vn,2)));        // Aneu = g*(1-k*(Vneu^2)
                    
    if($vn >= $Vmax) {
                            
    $rcn = ($rc+1);
                            print(
    "\n\t<!-- V = ".$rcn." * > ".$Vmax." -->");
                    };
                    if(
    $rcn >= 3) {
                            return 
    false;
                    };
            };
            print(
    "
            <tr>
                    <td width=\"100\" align=\"center\"> "
    .$t." </td>
                    <td width=\"250\" align=\"center\"> "
    .$vn." </td>
                    <td width=\"250\" align=\"center\"> "
    .$an." </td>
            </tr>"
    );
            if(
    $tn <= $b) {
                    
    fmlw($tn,$b,($c+1),$vn,$an,$rcn,$cw,$S,$Af,$m);
            } else {
                    return 
    false;
            };
    }; 
    ?>
    <html>
    <head>
            <title>Fall mit Luftwiderstand</title>
    </head>
    <body>
    <font style="font-family: verdana; font-size:10">
    <br \>
    <center>
    Fall mit Luftwiderstand - Beispiel: Tischtennis Ball
    <br \><br \><br \>
    <b><u>Variablen: </b></u>   CW = 0.45; S  = 1.92 ( Luftdichte ); Af = 0.001265m²; m/g  = 0.02N
    <br \><br \><br \>
    <table width="600" style="border: #000000 1px solid">
        <tr>
            <td width="100" align="center"> t [ s ] </td>
            <td width="250" align="center"> v [ m²/s² ] </td>
            <td width="250" align="center"> a [ m/s ] </td>
        </tr> <?php fmlw(0,60,0,0,0,0,0.45,1.29,0.001256,0.02); ?>
    </table>
    </body>
    </html>
    <?php /*
    Variablen
    $t = (delta)t         -> ( Zeitveränderung )
    $b = break           -> Sicherheit vor Endlosschleife
    $c = count           -> Schleifendurchlauf Zähler
    $v = Gesch.          -> Wichtig für die Formel!
    $a = Besch.          -> Wichtig für die Formel!
    $rc = roundcount     -> Wievielmal ist round($v,10) == round($vn,10)
    $cw, $S, $AF, $m     -> Wichtig zur Berechnung von k

    Formeln
    va = g*(delta)t       = (IMMER) -> 0 m/(s*s)
    v1 = a*(delta)t(=0.1) = (IMMER) -> 0.980665 m/(s*s)
    a1 = g*(1-k*(v1^2))
    v2 = a1*(delta)t+v1
    a2 = g*(1-k*(v2^2)
    vx = ax*(delta)t+v(x-1)
    ax = g*(1-k*(vx^2)
    */ 
    ?>
    Hier Klicken zum anzeigen des Scriptes

    1. Wie in der überschrift schon gesagt bricht es ohne ersichtlichen Grund bei 5.38 sekunden ab

    2. Die $a Werte steigen und sinken, was rein Physikalisch garnicht möglich wäre ... und ich habe keine Ahnung warum sie das tun.

    Danke im vorraus

    [ p.s. wenns verbesserungs Vorschläge gibt: Immer her damit ]
    Zuletzt geändert von YuYco; 15.10.2005, 21:20.
    ~
    you say you want a bit more rank
    you want to be a big wheel
    well you can feel magnified if you hide in your pride
    but it's not real
    ~

  • #2
    1. Wie in der überschrift schon gesagt bricht es ohne ersichtlichen Grund bei 5.38 sekunden ab
    Na, ne Zeilenangabe wäre mir da irgendwie lieber

    zu 2. und prinzipiell: versuch mal mittels Testausgaben mehr herauszufinden. So ist es für jemanden der deinen Code zum ersten mal sieht doch recht schwer dir auf die schnelle zu helfen.

    Kommentar


    • #3
      Na, ne Zeilenangabe wäre mir da irgendwie lieber
      Die hätte ich ja auch gerne ... kannst ja mal auf die Seite gehen ... da bricht es einfach ab, wenn es bei der Tablelle bei 5.38s ist

      ( Eigentlich dürfte es nur abbrechen wenn $v > 7.4... ist oder wenn die Zeit > als 60 ist :/ )


      zu 2. und prinzipiell: versuch mal mittels Testausgaben mehr herauszufinden. So ist es für jemanden der deinen Code zum ersten mal sieht doch recht schwer dir auf die schnelle zu helfen.
      Hatte vergessen zu sagen dass ich das hinbekommen hatte

      p.s.

      "Warning: Use of undefined constant g - assumed 'g' in /var/www/web1/html/~tim/physik/fall2.php on line 3" ... mir ist klar was das heißt, aber in der Reihe definiere ich sie doch und benutze sie nicht? Wo ist dann der fehler?
      ~
      you say you want a bit more rank
      you want to be a big wheel
      well you can feel magnified if you hide in your pride
      but it's not real
      ~

      Kommentar


      • #4
        "Warning: Use of undefined constant g - assumed 'g' in /var/www/web1/html/~tim/physik/fall2.php on line 3" ... mir ist klar was das heißt, aber in der Reihe definiere ich sie doch und benutze sie nicht? Wo ist dann der fehler?
        Falsch! Mach mal ein define('g',...) dann gehts!

        Kommentar


        • #5
          schau dir doch mal an, wie man konstanten definiert ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Super! ... Jetzt sind alle Warnings von E_ALL behoben

            Aber leider nicht mein Problem des einfach, grundlos, abbrechens :/
            ~
            you say you want a bit more rank
            you want to be a big wheel
            well you can feel magnified if you hide in your pride
            but it's not real
            ~

            Kommentar


            • #7
              wie siehts mit der max_execution_time aus???

              [URL gelöscht, da Testscript vom Server entfernt] klappt wunderbar!
              Zuletzt geändert von TobiaZ; 15.10.2005, 21:36.

              Kommentar


              • #8
                wie siehts mit der max_execution_time aus???
                Standart -> 30

                Aber das berechnen dauert doch nicht länger als 30 Sekunden??
                ~
                you say you want a bit more rank
                you want to be a big wheel
                well you can feel magnified if you hide in your pride
                but it's not real
                ~

                Kommentar


                • #9
                  da hast du eigentlich recht. also ich habs auf 25s und es läuft locker durch...

                  hmmm

                  Kommentar


                  • #10
                    bei mir brutzelt es nach wenigen sekunden den apachen weg - es ist also keinesfalls so, daß das script abbricht, vielmehr wird der server abgeschossen. das kommt imho von der rekursion.

                    ich habe mir das script nicht weiter angeschaut - ist die rekursion zwingend notwendig? eigentlich doch nicht - für dieses problem!?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      wow, das ist cool!!

                      Erklärt zudem auch warum du keine Fehlermeldung erhältst.

                      Rekursion sehe ich jetzt auch nicht wirklich eine notwendigkeite eine schleife (ganz ohne diese extra-funktion) sollte eigentlich ausreichen.

                      Kommentar


                      • #12
                        ich habe mir das script nicht weiter angeschaut - ist die rekursion zwingend notwendig? eigentlich doch nicht - für dieses problem!?
                        Eigentlich könnte ich es auch ohne Rekursion lösen ... dachte das wäre mal ne übung das mit Rekursion zu machen ... dann werde ich es morgen auf ne schleife umschreiben ...

                        Dankeschön für die hilfe
                        ~
                        you say you want a bit more rank
                        you want to be a big wheel
                        well you can feel magnified if you hide in your pride
                        but it's not real
                        ~

                        Kommentar


                        • #13
                          hab den thread nur überflogen ....

                          wenn du was in rekursion machen willst/musst, dann aber auch nur, wenn es notwendig ist, aber nicht weil's toll ist. ;-)

                          und ... bei rekursion immer darauf achten, dass diese auch mal ein ende hat.
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            wenn du was in rekursion machen willst/musst, dann aber auch nur, wenn es notwendig ist, aber nicht weil's toll ist. ;-)
                            @haxe: sieht ja nicht nach ner wirklich produktiven umgebung aus, sondern eher nach nem kleinen physik-projekt. (hausaufgabenerleichterung?) da darf man das sicher mal machen, wenn man lustig ist.

                            Schließlich hat uns dieses experiment einen weiteren thread im sinne von "was ist rekursion und wie geht das?" erspart.

                            Im übrigen habe ich früher in der schule auch gerne meine eigenen scripte zur hilfe genommen! Lang ists her

                            Kommentar


                            • #15
                              Lang ists her
                              OffTopic:

                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar

                              Lädt...
                              X