#1 26. Januar 2009 Folgendes Problem: ich hab folgenden PHP Code geschrieben: PHP: <? php$a1 = $_POST [ a ]; $b1 = 1 ; while ( 0.002 <= $diff );{ $a2 = ( $a1 + $b1 )/ 2 ; $b2 = $a1 / $a2 ; $diff = $a2 - $b2 ;} echo "Die Wurzen aus $a1 beträgt: $a2 " ;echo "</br> Differenz: $diff " ; ?> und die ausgabe ist (z.b. wenn ich 16 eingebe) Code: Die Wurzen aus 16 beträgt: 8.5 Differenz: 6.61764705882 Eigendlich soll bei $a2 4 rauskommen... d.h. die While-Schleife geht beim ersten mal raus ... was sie eigendlich nicht sollte. So sollte es aussehen: Man gibt 16 ein (Andere HTML Datei) und der Server bzw. PHP berechnet aus 16 die Wurzel mit dem Heron verfahren . - 4 sollte rauskommen. Edit: $diff ist der Grenzwert wo die While Schleife rausgehen sollte. (Wenn $diff kleiner als 0.002 dann soll der aus der Schleife rausgehen) + Multi-Zitat Zitieren
#2 26. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] deine denkweise stimmt soweit ich mitverfolg habe überhaupt nicht ^^: D laut heron verfahren macht er das immer wieder , bis die zahl ziemlich nahe am ergebnis ist .. während der rechnung setzt er das ergebnis , was bei dir be [ B ] a2 [/ B ] raußkommt immer wieder ein . was bei dir nicht der fall ist , wie ich sehe .. bei dir wird der wert weiterhin nirgends benutzt , also wozu dann die schleife , wenn er eh wieder von oben die zahlen einsetzen würde ? [ url = "http://de.wikipedia.org/wiki/Heron-Verfahren" ] Heron - Verfahren – Wikipedia [/ url ] vllt nochmal drüber schauen ? + Multi-Zitat Zitieren
#3 26. Januar 2009 AW: PHP: Wurzel ziehen aus PHP[/b] ja ich will ja nicht das mein code so aussieht: [PHP] <?php$a1 = $_POST [ a ]; $b1 = 1 ; while ( 0.002 <= $diff );{ $a2 = ( $a1 + $b1 )/ 2 ; $b2 = $a1 / $a2 ; $diff = $a2 - $b2 ; $a3 = ( $a2 + $b2 )/ 2 ; $b3 = $a2 / $a3 ; $diff = $a3 - $b3 ; $a4 = ( $a3 + $b3 )/ 2 ; $b4 = $a3 / $a4 ; $diff = $a4 - $b4 ; $a5 = ( $a4 + $b4 )/ 2 ; $b5 = $a4 / $a5 ; $diff = $a5 - $b5 ; ...... ?> + Multi-Zitat Zitieren
#4 26. Januar 2009 AW: PHP: Wurzel ziehen aus PHP[/b] du musst die differenz aus quadrat der zahl und der vermeintlichen wurzel bilden dann sollte es gehen quasi so: <?php$a1 = $_POST [ a ]; $b1 = 1 ; while ( 0.002 <= $diff );{ $a2 = ( $a1 + $b1 )/ 2 ; $b2 = $a1 / $a2 ; $diff = $b2 * $b2 - $a2 ; // Hier müsste das sein ich durschau das ganze leider nich auf anhieb weil deine variablen etwas diffus gewählt sind lass dir mal deutlichere namen einfallen :) } echo "Die Wurzen aus $a1 beträgt: $a2 " ;echo "</br> Differenz: $diff " ; ?> + Multi-Zitat Zitieren
#5 26. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] $diff ist die different von $a1 und $b1 bzw . von $a2 und $b2 usw . nach Heron is ja Seite "b" in dem Rechteck immer eine 1 und "a" ist die Zahl , aus der die Wurzel gezogen werden mussdann wird "a" kleiner bzw "b" Größer damit ein Quadrat entsteht mit gleichen Seitenlängen (Die Seitenlänge ist dann die Wurzel ) + Multi-Zitat Zitieren
#6 26. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] Hier gibts die Formel und Beispiel Code :[ url = "http://www.html.de/tutorials/11474-php-c-heron-verfahren-mit-diversen-programmiersprachen.html" ][ PHP / C ++] HERON - Verfahren mit diversen Programmiersprachen | html . de - HTML für Anfänger und Fortgeschrittene [/ url ] + Multi-Zitat Zitieren
#7 26. Januar 2009 AW: PHP: Wurzel ziehen aus PHP[/b] Die formel bringt mir nichts ^^ ich brauch das mit $_POST[] usw.wenn ich wüsste was Radikant und Startwert ist...Ausserdem brauch ich nicht die Näherungswerte sondern das Ergebnis ^^ edit: ich habs ergebnis ist: [PHP]<?php $a = $_POST [ a ]; $b = 1 ; $r = ( $b + $a )/ 2 ; if ( preg_match ( "/^[0-9]{1,7}$/" , $a )) {while( $r - $b > 0.0001 || $n <= 30 ) { $b = $r ; $n ++; $r = ( $b + $a / $b )/ 2 ; if( $n == 30 ) echo "Die Wurzen aus $a beträgt: $r <br><br>" ;}}else { echo "Bitte nur Zahlen eingeben" ;} ?> + Multi-Zitat Zitieren
#8 27. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] [ quote = "SoulOfRussia, post: 7685428" ]Die formel bringt mir nichts ^^[/ QUOTE ] Doch , genau diese Formel verwendest du .[ quote = "SoulOfRussia, post: 7685428" ] ich brauch das mit $_POST [] usw .[/ QUOTE ] Einfach den Radikand mit $_POST [] einlesen fertig .[ quote = "SoulOfRussia, post: 7685428" ] wenn ich wüsste was Radikant und Startwert ist ...[/ QUOTE ] Das natürlich schlecht . ;)[ quote = "SoulOfRussia, post: 7685428" ] Ausserdem brauch ich nicht die Näherungswerte sondern das Ergebnis ^^[/ QUOTE ] Du benutzt aber ein Näherungsverfahren ... also bekommst du immer nur Näherungen als Ergebnis . Ich glaube du hast da was missverstanden . Aber hast ja nun so hinbekommen . + Multi-Zitat Zitieren
#9 27. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] [ quote = "SoulOfRussia, post: 7685428" ] Ausserdem brauch ich nicht die Näherungswerte sondern das Ergebnis ^^[/ QUOTE ] die dezimalschreibweise einer wurzel von einem radikanten der keine quadratzahl ist , ist IMMER eine näherung !!! daher macht dein satz keinen sinn ... + Multi-Zitat Zitieren
#10 27. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] zumm 2. mal ^^ ich hab das ergebnis xD siehe weiter oben !! + Multi-Zitat Zitieren
#11 27. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] Mal ganz dumm gefragt : was spricht gegen [ url = http : //de2.php.net/sqrt][b]sqrt[/b][/url]? + Multi-Zitat Zitieren
#12 27. Januar 2009 AW: PHP: Wurzel ziehen aus PHP [/ b ] [ quote = "p0w3rn4t0r, post: 7688901" ] Mal ganz dumm gefragt : was spricht gegen [ url = http : //de2.php.net/sqrt][b]sqrt[/b][/url]?[/QUOTE] Vermutlich die Aufgabenstellung + Multi-Zitat Zitieren