Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: kleines Matheproblem

  1. #1
    Interessierte/r
    Registriert seit
    24.09.2004
    Ort
    Ispringen bei PF
    Beiträge
    149
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard kleines Matheproblem

    Hi,
    möchte gerne einen Körperfettrechner auf meiner HP einstellen. Folgende Formel liegt vor:
    s = Summe der drei Hautfalten (falte11, falte22,falte33)
    alter11=Alter
    d = 1.1125025 - 0.0013125*S + 0.0000055*S² - 0.000244*alter11
    Fett [%] = 495 / d - 450

    Habe das ganze in PHP mal so gelöst:
    PHP-Code:
     $s=$_POST['falte11']+$_POST['falte22']+$_POST['falte33'];
            
    $s2=pow($s2);
            
    $d1=0.0013125*$s;
            
    $d2=0.0000055*$s2;
            
    $d3=0.000244*$_POST['alter11'];
            
    $d =1.1125025-$d1+$d2-$d3;
            
    $d_ergebnis=$d-450;
            
    $ergebnis_maenner=495/abs($d_ergebnis); 
    das Ergebniss sollte für falte11=18; falte22=19; falte33=11; alter11=32 eigentlich 14,72% sein. Bei mir ergibt sich aber immer 1.10258339332. Ich finde den Fehler nicht... auch wenn ich mal von Ergebnis rückwärts rechne werde ich nicht schlauer

    Hat jemand eine Idee?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Gruß

    Matthias

  2. #2
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: kleines Matheproblem

    $d2=0.0000055*$s2;


    die zeile schaut falsch aus.

    ich denke es müsste entweder

    PHP-Code:
     $d2=0.0000055*$s^2

    oder


    PHP-Code:
     $d2=0.0000055*($s*$s); 

    sein


    mfg




    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  3. #3
    Pion
    Gast

    Standard AW: kleines Matheproblem

    Nein Bendor das ist schon richtig, er verwendet pow davor das entsprich ^ in PHP

    @TS lass dir doch einfach mal per die($VAR); jedes Teilergebniss ausgeben , dann kommst du sicherlich auf deinen kleinen denkfehler

    mfg
    Geändert von Pion (03.12.2010 um 17:01 Uhr)

  4. #4
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: kleines Matheproblem

    Darf ich mal fragen, wofür du so viele Variablen brauchst? PHP ist doch kein Assembler, einmal das $s und einmal das Ergebnis solten reichen.

  5. #5
    Pion
    Gast

    Standard AW: kleines Matheproblem

    Nunja würde er sinnvolle Variabelnamen verwenden, dann würde das ja durchaus übersichtlicher sein als eine lange Formel

  6. #6
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: kleines Matheproblem

    Vmtl. gibt es für die aber überhaupt keine sinnvollen Namen, das ist eine einfache mathematische Vorschrift, und da ist so etwas am ausdruckststärksten und effektivsten:
    PHP-Code:
     $s=$_POST['falte11']+$_POST['falte22']+$_POST['falte33'];
            
    $ergebnis 495 / (1.1125025 0.0013125*0.0000055*s*0.000244*$_POST['alter11']) - 450
    Ich würde bei mathematischen Sachen grundsätzlich möglichst viel in eine Expression packen, anstatt sinnlose Variablen anzulegen. Die zwei Zeilen verstehe ich zumindest jetzt viel besser.

  7. #7
    Interessierte/r
    Themenstarter

    Registriert seit
    24.09.2004
    Ort
    Ispringen bei PF
    Beiträge
    149
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: kleines Matheproblem

    Hi,

    hatte einen ähnlichen Code wie "the user", da dann aber ein falsches Ergebnis kam, habe ich, um die Teilergebnisse zu kontrollieren, das ganze zerlegt.

    Mit dem Code von "the user" bleibt das Ergebnis falsch, aber wird anders falsch Ich bin mir nicht sicher inwiefern PHP die Matheregeln komplett berücksichtigt. Klappt da Punkt vor Strich etc.?

    Das Ergebnis ist jetzt -1.91231602945

    Ich schnall' es nicht...

    Ansonsten bleibt mir nur die Ursprungsformel nochmal zu kontrollieren, obwohl ich das schon zigfach getan habe.
    Gruß

    Matthias

  8. #8
    Pion
    Gast

    Standard AW: kleines Matheproblem

    Lass dir doch mal jedes Teilergebniss ausgeben, dann siehst doch was falsch läuft...
    Das ist doch nicht schwer

    Code:
     $s=$_POST['falte11']+$_POST['falte22']+$_POST['falte33'];
    echo '$s="'.$s.'"<br>';
            $s2=pow($s, 2);
    echo '$s2="'.$s2.'"<br>';
    $d1=0.0013125*$s;
    echo '$d1="'.$d1.'"<br>';
    $d2=0.0000055*$s2;
    echo '$d2="'.$d2.'"<br>';
    $d3=0.000244*$_POST['alter11'];
    echo '$d3="'.$d3.'"<br>';
    $d =1.1125025-$d1+$d2-$d3;
    echo '$d="'.$d.'"<br>';
    $d_ergebnis=$d-450;
    echo '$d_ergebnis="'.$d_ergebnis.'"<br>';
    
    $ergebnis_maenner=495/abs($d_ergebnis);  
    Es liegt aber hier auch nicht an PHP sondern an deiner Formel, führ mal meinen code aus, da kann ja nie etwas höheres rauskommen so

    $d muss einfach höher sein..
    Geändert von Pion (06.12.2010 um 16:39 Uhr)

  9. #9
    Interessierte/r
    Themenstarter

    Registriert seit
    24.09.2004
    Ort
    Ispringen bei PF
    Beiträge
    149
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: kleines Matheproblem

    Hi Pion,

    habe, wie geschrieben, die Teilergebnisse schon kontrolliert. Daher die ganzen Variablen...

    Ich glaube der Fehler liegt in dieser Zeile
    PHP-Code:
    $ergebnis_maenner=495/abs($d_ergebnis); 
    Bis dahn ist alles korrekt. Dann wird das Letzte Ergebnis falsch.

    Daher meine Frage inwiefern PHP die Matheregeln berücksichtigt...
    Da ein negatives Ergebnis kommt hat ich abs() verwendet.
    Gruß

    Matthias

  10. #10
    Pion
    Gast

    Standard AW: kleines Matheproblem

    Ich habs aber auch einmal durchgerechnet:

    Code:
    <?php
     $s=18+19+11;
    echo '$s="'.$s.'"<br>';
            $s2=pow($s, 2);
    echo '$s2="'.$s2.'"<br>';
    $d1=0.0013125*$s;
    echo '$d1="'.$d1.'"<br>';
    $d2=0.0000055*$s2;
    echo '$d2="'.$d2.'"<br>';
    $d3=0.000244*32;
    echo '$d3="'.$d3.'"<br>';
    $d =1.1125025-$d1+$d2-$d3;
    echo '$d="'.$d.'"<br>';
    $d_ergebnis=$d-450;
    echo '$d_ergebnis="'.$d_ergebnis.'"<br>';
    
    $ergebnis_maenner=495/abs($d_ergebnis); 
    echo '
    $ergebnis_maenner="'.
    $ergebnis_maenner.'"<br>';
    
    ?>
    Wenn du 495/-448.9456335" teilen willst kann kein 14 Prozent rauskommen

    Fehler == Formel
    Fehler != PHP
    PHP == schlecht in berechnungen
    PHP == gut genug für die berrechnungen
    Geändert von Pion (06.12.2010 um 16:52 Uhr)

Ähnliche Themen

  1. Kleines Mac-Firmennetzwerk.
    Von Varus32 im Forum Computer - Internet Forum
    Antworten: 5
    Letzter Beitrag: 02.07.2012, 23:24
  2. Kleines Programm
    Von wravens im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 09.09.2008, 00:36
  3. Matheproblem
    Von willi013 im Forum Off Topic und Quasselbox
    Antworten: 2
    Letzter Beitrag: 18.07.2007, 08:58
  4. kleines Problem
    Von ---- im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 24.10.2006, 04:48
  5. Hilfe- ein Matheproblem!!!
    Von Lindy im Forum Off Topic und Quasselbox
    Antworten: 3
    Letzter Beitrag: 21.09.2006, 13:11

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •