Wurzelfunktion

martinibook

martinibook

Aktives Mitglied
Thread Starter
Dabei seit
20.08.2005
Beiträge
8.730
Reaktionspunkte
350
Hallo,

Heute haben wir in Mathe die PQ-Formel kennen gelernt. Mithilfe dieser Formel kann man leichter Quadratische Gleichungen (x*x + 3x + 5 = 0) lösen.

Bis hierher kann ich das auch so in C oder PHP umsetzen. Auch das quadrieren ist leicht. Allerdings weiß ich nicht, wie ich die in der Formel vorkommende Wurzel ausrechnen soll.

Ich habe da in meinem C Buch mal etwas zur Annäherung gesehen, allerdings möchte ich nur aus Quadratzahlen die Wurzel ziehen. Wie mache ich das?

Martin
 
martinibook schrieb:
Hallo,

Heute haben wir in Mathe die PQ-Formel kennen gelernt. Mithilfe dieser Formel kann man leichter Quadratische Gleichungen (x*x + 3x + 5 = 0) lösen.

Bis hierher kann ich das auch so in C oder PHP umsetzen. Auch das quadrieren ist leicht. Allerdings weiß ich nicht, wie ich die in der Formel vorkommende Wurzel ausrechnen soll.

Ich habe da in meinem C Buch mal etwas zur Annäherung gesehen, allerdings möchte ich nur aus Quadratzahlen die Wurzel ziehen. Wie mache ich das?

Martin

gibts da keine sqrt()-Funktion? gibts bestimmt irgendwo in der math Bibliothek.
 
Hi,

wenn du die n-te Wurzel einer Zahl x berechnen willst, dann kannst du dies auch wie folgt machen. Du quadrierst die Zahl x mit 1/n

-> also n-te Wurzel(x) = x^1/n

Bei wikipedia gibts mehr Infos: klick
 
Sowohl in C als auch in PHP gibt es eine sqrt-Funktion. Für C schau mal in die Manpage von sqrt. :cool:
 
quack schrieb:
_quadrieren_ ohne 2 ?! ;)

EDIT: Ok jetzt hab auch ich es begriffen :D

Wie ist denn der korrekte Ausdruck? Potenzieren?
 
Potenzieren ist der richtige ausdruck. Ich habee gerade das mit der sqrt(); ausgetestet, in PHP, klappt allerdings nicht ganz so gut.

PHP:
<?PHP
	$p = $_POST['p'];
	$q = $_POST['q'];

	if ($p && $q)
		{
		$x1 = sqrt(sqrt($p / 2) - $q) - ($p / 2);
		$x1 = - ($p / 2) - sqrt(sqrt($p / 2) - $q);

		echo 'L = {' . $x1 . ' ; ' . $x2 . '}';
		}

	else
		{
		echo '<form action="" method="POST" enctype="multipart/form-data">';
		echo '<table><tr>';
		echo '<td><h1>x*x +</h1></td><td><input name="p" class="eingabe_gross" type="text" size="2" maxlength="5"></td><td><h1>x +</h1></td><td><input name="q" class="eingabe_gross" type="text" size="2" maxlength="5"></td><td><h1>= 0</h1></td>';
		echo '</tr></table>';
		echo '<br><br>';
		echo '<input type="submit" value="Ausrechnen">';
		echo '</form>';
		}

	?>

Allerdings zeigt der manchmal NAN an. Was ist das?

Martin
 
Das kann gut sein, ich nehme mal eine gleichung, die wir auch im Unterricht gelöst haben.
 
Ich habe einige Fehler gemacht:

Erstens habe ich x1 doppelt zugewiesen und ich habe zweimal die Wurzel gezogen, obwohl ich beim 2. mal quadrieren muss.

Martin
 
martinibook schrieb:
Ich habe einige Fehler gemacht:

Erstens habe ich x1 doppelt zugewiesen und ich habe zweimal die Wurzel gezogen, obwohl ich beim 2. mal quadrieren muss.

Martin

funktioniert es denn jetzt?
 
Ja, es funktioniert jetzt, allerdings haben wir im Buch nur aufgaben, die wirklich 2 Lösungen haben. Ich poste dann mal den Code:

PHP:
$p = $_POST['p'];
	$q = $_POST['q'];

	if (!empty($p) && !empty($q))
		{
		$x1 = sqrt(($p * $p / 4) - $q) - ($p / 2);
		$x2 = 0 - ($p / 2) - sqrt(($p * $p / 4) - $q);

		echo 'L = {' . $x1 . ' ; ' . $x2 . '}';
		}

	else
		{
		echo '<form action="" method="POST" enctype="multipart/form-data">';
		echo '<table><tr>';
		echo '<td><h1>x*x +</h1></td><td><input name="p" class="eingabe_gross" type="text" size="2" maxlength="5"></td><td><h1>x +</h1></td><td><input name="q" class="eingabe_gross" type="text" size="2" maxlength="5"></td><td><h1>= 0</h1></td>';
		echo '</tr></table>';
		echo '<br><br>';
		echo '<input type="submit" value="Ausrechnen">';
		echo '</form>';
		}

Martin
 
NAN = Not a number :)
 
Klingt irgendwie logisch
 
Zurück
Oben Unten