Heyho,
falls es noch jemanden interessiert, hier ein kleiner Ansatz mit Zwischenschritten ![]()
Entweder direkt die Werte der Variablen im Script bearbeiten oder eben von nem Formular übergeben lassen.
Formelaufbau: a = x1 + y1; b = x2 + y2, im Beispiel wäre das:
0 = 3x + 6y
5 = 5x - 10y
Code
// Variablen initialisieren
$a=0;
$x1=3;
$y1=6;
$b=5;
$x2=5;
$y2=-10;
// Zwischenschritte anzeigen?
$zeigeZwischenschritte = true;
// Abfang von ungültigen Werten
if (($x1 == 0)||($x2 == 0)||($y1==0)||($y2==0)){
echo "Irgendeine Unbekannte hast du doch schon, du Pfeife :P";exit;
}
if(($x1/$x2)==($y1/$y2)){
echo "2te Gleichung entspricht der ersten, keine Lösung möglich";exit;
}
// Zwischenschritte anzeigen (optional)
if ($zeigeZwischenschritte){
echo "Aufgabenstellung:<br>";
echo $a." = ".$x1."x + ".$y1."y<br>";
echo $b." = ".$x2."x + ".$y2."y<br><br>";
echo "X ermitteln:<br>";
echo $x1."x = ".$a." - ".$y1."y<br>";
echo "x = ".($a/$x1)." - ".($y1/$x1)."y<br><br>";
echo "In 2te Gleichung einsetzen:<br>";
echo $b." = ".($a/$x1*$x2)." - ".($y1/$x1*$x2)."y + ".$y2."y<br>";
echo ($b - ($a/$x1*$x2))." = ".(($y1/$x1*$x2*(-1))+$y2)."y<br><br>";
}
echo "Ergebnis:<br>";
echo "x = ".(($a/$x1) - (($y1/$x1)*(($b - ($a/$x1*$x2))/(($y1/$x1*$x2*(-1))+$y2))))."<br>";
echo "y = ".(($b - ($a/$x1*$x2))/((($y1/$x1*$x2*(-1))+$y2)))."<br>";
Alles anzeigen