HI leute hab lange nichts mehr gepostet , aber immer mal wieder hier vorbei geschaut ...naja seis drum.
So nun zu meinem problem , ich hab ein php programm geschriebn , das Steckbriefaufgaben lösen soll. Diese aufgabe kann er schon lösen, aber bei anderen aufgaben bekommt das programm probleme! ich gehe davon aus , das dass problem im ersten abschnitt liegt wo die eigenschaften in funktionen verwandelt werden !
ich muss dazu sagen , das, dass mein erstes php programm ist , und deshalb bestimmt ein bisschen umständlich ist! Also wär ich für verbesserungsvrschläge auch nicht böse
Die gleichungen werden mit dem eliminations verfahren gelöst , so wie hier.
so jetzt aber ersteinmal der code :
so wär sehr sehr sehr gut wennn jemand rat wüßte
)
So nun zu meinem problem , ich hab ein php programm geschriebn , das Steckbriefaufgaben lösen soll. Diese aufgabe kann er schon lösen, aber bei anderen aufgaben bekommt das programm probleme! ich gehe davon aus , das dass problem im ersten abschnitt liegt wo die eigenschaften in funktionen verwandelt werden !
ich muss dazu sagen , das, dass mein erstes php programm ist , und deshalb bestimmt ein bisschen umständlich ist! Also wär ich für verbesserungsvrschläge auch nicht böse
Die gleichungen werden mit dem eliminations verfahren gelöst , so wie hier.
so jetzt aber ersteinmal der code :
PHP:
<?
//gegeben
$punkt = $_POST["punkt"];
$nullstelle = $_POST["nullstelle"];
$steigung = $_POST["steigung"];
$extrema = $_POST["extrema"];
$wendepunkt = $_POST["wendepunkt"];
//punkt
$xp = $_POST["xp"];
$yp = $_POST["yp"];
//nullstelle
$xn = $_POST["xn"];
$yn = $_POST["yn"];
//steigung
$xs = $_POST["xs"];
$ys = $_POST["ys"];
//extrema
$xe = $_POST["xe"];
$ye = $_POST["ye"];
//wendepunkt
$xw = $_POST["xw"];
$yw = $_POST["yw"];
//Freie gleichungen
$g1 = f;
$g2 = f;
$g3 = f;
$g4 = f;
//FUNKTIONEN BESTIMMEN
//PUNKT GEG
if($punkt == 1 and $g1 == f){
$a1 = $xp*$xp*$xp;
$b1 = $xp*$xp;
$c1 = $xp;
$d1 = 1;
$y1 = $yp;
$g1 = b;}
//NULLSTELLE GEG
if($nullstelle == 1){
if($vn != j and $g1 == f){
$a1 = $xn*$xn*$xn;
$b1 = $xn*$xn;
$c1 = $xn;
$d1 = 1;
$y1 = 0;
$g1 = b;
$vn = j;
}
if($vn != j and $g2 == f){
$a2 = $xn*$xn*$xn;
$b2 = $xn*$xn;
$c2 = $xn;
$d2 = 1;
$y2 = 0;
$g2 = b;
$vn = j;
}
}
//STEIGUNG GEG
if($steigung == 1){
if($vs != j and $g1 == f){
$a1 = 3*($xs*$xs);
$b1 = 2*$xs;
$c1 = 1;
$d1 = 0;
$y1 = $ys;
$g1 = b;
$vs = j;
}
if($vs != j and $g2 == f){
$a2 = 3*($xs*$xs);
$b2 = 2*$xs;
$c2 = 1;
$d2 = 0;
$y2 = $ys;
$g2 = b;
$vs = j;
}
if($vs != j and $g3 == f){
$a3 = 3*($xs*$xs);
$b3 = 2*$xs;
$c3 = 1;
$d3 = 0;
$y3 = $ys;
$g3 = b;
$vs = j;
}
}
//EXTREMA GEG
//1.ableitung
if($extrema == 1){
if($ve != j and $g1 == f){
$a1 = $xe*$xe*$xe;
$b1 = $xe*$xe;
$c1 = $xe;
$d1 = 1;
$y1 = $ye;
$g1 = b;
$ve = j;
}
if($ve != j and $g2 == f){
$a2 = $xe*$xe*$xe;
$b2 = $xe*$xe;
$c2 = $xe;
$d2 = 1;
$y2 = $ye;
$g2 = b;
$ve = j;
}
if($ve != j and $g3 == f){
$a3 = $xe*$xe*$xe;
$b3 = $xe*$xe;
$c3 = $xe;
$d3 = 1;
$y3 = $ye;
$g3 = b;
$ve = j;
}
if($ve != j and $g4 == f){
$a4 = $xe*$xe*$xe;
$b4 = $xe*$xe;
$c4 = $xe;
$d4 = 1;
$y4 = $ye;
$g4 = b;
$ve = j;
}
}
//1.ableitung
if($extrema == 1){
if($ve2 != j and $g1 == f){
$a1 = 3*($xe*$xe);
$b1 = 2*$xe;
$c1 = 1;
$d1 = 0;
$y1 = 0;
$g1 = b;
$ve2 = j;
}
if($ve2 != j and $g2 == f){
$a2 = 3*($xe*$xe);
$b2 = 2*$xe;
$c2 = 1;
$d2 = 0;
$y2 = 0;
$g2 = b;
$ve2 = j;
}
if($ve2 != j and $g3 == f){
$a3 = 3*($xe*$xe);
$b3 = 2*$xe;
$c3 = 1;
$d3 = 0;
$y3 = 0;
$g3 = b;
$ve2 = j;
}
if($ve2 != j and $g4 == f){
$a4 = 3*($xe*$xe);
$b4 = 2*$xe;
$c4 = 1;
$d4 = 0;
$y4 = 0;
$g4 = b;
$ve2 = j;
}
}
//WENDEPUNKT GEG
//2.ableitung
if($wendepunkt == 1){
if($vw2 != j and $g1 == f){
$a1 = 6*$xw;
$b1 = 2;
$c1 = 0;
$d1 = 0;
$y1 = 0;
$g1 = b;
$vw2 = j;
}
if($vw2 != j and $g2 == f){
$a2 = 6*$xw;
$b2 = 2;
$c2 = 0;
$d2 = 0;
$y2 = 0;
$g2 = b;
$vw2 = j;
}
if($vw2 != j and $g3 == f){
$a3 = 6*$xw;
$b3 = 2;
$c3 = 0;
$d3 = 0;
$y3 = 0;
$g3 = b;
$vw2 = j;
}
if($vw2 != j and $g4 == f){
$a4 = 6;
$b4 = 2*$xw;
$c4 = 0;
$d4 = 0;
$y4 = 0;
$g4 = b;
$vw2 = j;
}
}
//punkt
if($wendepunkt == 1){
if($vw != j and $g1 == f){
$a1 = $xw*$xw*$xw;
$b1 = $xw*$xw;
$c1 = $xw;
$d1 = 1;
$y1 = $yw;
$g1 = b;
$vw = j;
}
if($vw != j and $g2 == f){
$a2 = $xw*$xw*$xw;
$b2 = $xw*$xw;
$c2 = $xw;
$d2 = 1;
$y2 = $yw;
$g2 = b;
$vw = j;
}
if($vw != j and $g3 == f){
$a3 = $xw*$xw*$xw;
$b3 = $xw*$xw;
$c3 = $xw;
$d3 = 1;
$y3 = $yw;
$g3 = b;
$vw = j;
}
if($vw != j and $g4 == f){
$a4 = $xw*$xw*$xw;
$b4 = $xw*$xw;
$c4 = $xw;
$d4 = 1;
$y4 = $yw;
$g4 = b;
$vw = j;
}
}
echo"<br>$a1 $b1 $c1 $d1 = $y1<br>";
echo"<br>$a2 $b2 $c2 $d2 = $y2<br>";
echo"<br>$a3 $b3 $c3 $d3 = $y3<br>";
echo"<br>$a4 $b4 $c4 $d4 = $y4<br><br><br><br><br><br>";
//zwischen variablen bunker
$az1 = $a1;
$bz1 = $b1;
$cz1 = $c1;
$dz1 = $d1;
$yz1 = $y1;
$az2 = $a2;
$bz2 = $b2;
$cz2 = $c2;
$dz2 = $d2;
$yz2 = $y2;
$az3 = $a3;
$bz3 = $b3;
$cz3 = $c3;
$dz3 = $d3;
$yz3 = $y3;
$az4 = $a4;
$bz4 = $b4;
$cz4 = $c4;
$dz4 = $d4;
$yz4 = $y4;
//1. 1Gleichung A-Faktor KILLEN und vorzeichen
$avtest = substr("$a2",0, 1);
if($avtest == "-"){
$a1 = $a1*-1;
$b1 = $b1*-1;
$c1 = $c1*-1;
$d1 = $d1*-1;
$y1 = $y1*-1;
}
if($a1 != 1){
$a1/$a1;
$b1/$a1;
$c1/$a1;
$d1/$a1;
$y1/$a1;
}
//2. 2Gleichung A KILLEN mit 1.Gleichung
$az1 = ($a1*-1)*$a2;
$bz1 = ($b1*-1)*$a2;
$cz1 = ($c1*-1)*$a2;
$dz1 = ($d1*-1)*$a2;
$yz1 = ($y1*-1)*$a2;
$a2 = $a2+$az1;
$b2 = $b2+$bz1;
$c2 = $c2+$cz1;
$d2 = $d2+$dz1;
$y2 = $y2+$yz1;
//3. 3Gleichung A KILLEN 1.Gleichung
$az3 = ($a1*-1)*$a3;
$bz3 = ($b1*-1)*$a3;
$cz3 = ($c1*-1)*$a3;
$dz3 = ($d1*-1)*$a3;
$yz3 = ($y1*-1)*$a3;
$a3 = $a3+$az3;
$b3 = $b3+$bz3;
$c3 = $c3+$cz3;
$d3 = $d3+$dz3;
$y3 = $y3+$yz3;
//4. 4Gleichung A KILLEN 1.Gleichung
$az4 = ($a1*-1)*$a4;
$bz4 = ($b1*-1)*$a4;
$cz4 = ($c1*-1)*$a4;
$dz4 = ($d1*-1)*$a4;
$yz4 = ($y1*-1)*$a4;
$a4 = $a4+$az4;
$b4 = $b4+$bz4;
$c4 = $c4+$cz4;
$d4 = $d4+$dz4;
$y4 = $y4+$yz4;
//gugn ob vorzeichen von B in der 2. gleichung positiv is und faktor killen
$bvtest = substr("$b2",0, 1);
if($bvtest == "-"){
$b2 = $b2*-1;
$c2 = $c2*-1;
$d2 = $d2*-1;
$y2 = $y2*-1;
}
if($b2 != 1){
$b2/$b2;
$c2/$b2;
$d2/$b2;
$y2/$b2;
}
//5. 1Gleichung B KILLEN mit 2.Gleichung
$bz1 = ($b2*-1)*$b2;
$cz1 = ($c2*-1)*$b2;
$dz1 = ($d2*-1)*$b2;
$yz1 = ($y2*-1)*$b2;
$b1 = $b1+$bz1;
$c1 = $c1+$cz1;
$d1 = $d1+$dz1;
$y1 = $y1+$yz1;
//6. 3Gleichung B KILLEN 2.Gleichung
$bz3 = ($b2*-1)*$b3;
$cz3 = ($c2*-1)*$b3;
$dz3 = ($d2*-1)*$b3;
$yz3 = ($y2*-1)*$b3;
$b3 = $b3+$bz3;
$c3 = $c3+$cz3;
$d3 = $d3+$dz3;
$y3 = $y3+$yz3;
//7. 4Glecihung B KILLEN 2.Gleichung
$bz4 = ($b2*-1)*$b4;
$cz4 = ($c2*-1)*$b4;
$dz4 = ($d2*-1)*$b4;
$yz4 = ($y2*-1)*$b4;
$b4 = $b4+$bz4;
$c4 = $c4+$cz4;
$d4 = $d4+$dz4;
$y4 = $y4+$yz4;
// c klärn , fakor killn , positiv mach0rn (3Gleichung)
$cvtest = substr($c3,0, 1);
if($cvtest == "-"){
$c3 = $c3*-1;
$d3 = $d3*-1;
$y3 = $y3*-1;
}
if($c3 != 1){
$cz3 = $c3;
$c3 = $c3/$cz3;
$d3 = $d3/$cz3;
$y3 = $y3/$cz3;
}
//8. 1Gleichung C KILLEN mit 3.Gleichung
$cz1 = ($c3*-1)*$c1;
$dz1 = ($d3*-1)*$c1;
$yz1 = ($y3*-1)*$c1;
$c1 = $c1+$cz1;
$d1 = $d1+$dz1;
$y1 = $y1+$yz1;
//9. 2Gleichung C KILLEN mit 3.Gleichung (2.Gleichung wird das $c2*-1fache von der 3gleichung addiert)
$cz2 = ($c3*-1)*$c2;
$dz2 = ($d3*-1)*$c2;
$yz2 = ($y3*-1)*$c2;
$c2 = $c2+$cz2;
$d2 = $d2+$dz2;
$y2 = $y2+$yz2;
//10. 4Gleichung C KILLEN mit 3.Gleichung
$cz4 = ($c3*-1)*$c4;
$dz4 = ($d3*-1)*$c4;
$yz4 = ($y3*-1)*$c4;
$c4 = $c4+$cz4;
$d4 = $d4+$dz4;
$y4 = $y4+$yz4;
// d FIXEN
$y4 = $y4/$d4;
$d4 = $d4/$d4;
//11. mit d Summanden eliminieren
// 1Gleichung D KILLEN mit 4.glecihung
$dz1 = ($d4*-1)*$d1;
$yz1 = ($y4*-1)*$d1;
$d1 = $d1+$dz1;
$y1 = $y1+$yz1;
//2Gleichung D KILLEN mit 4. gleichung
$dz2 = ($d4*-1)*$d2;
$yz2 = ($y4*-1)*$d2;
$d2 = $d2+$dz2;
$y2 = $y2+$yz2;
//3Gleichung D KILLEN mit 4. gleichung
$dz3 = ($d4*-1)*$d3;
$yz3 = ($y4*-1)*$d3;
$d3 = $d3+$dz3;
$y3 = $y3+$yz3;
echo"<br>$a1 $b1 $c1 $d1 = $y1<br>";
echo"<br>$a2 $b2 $c2 $d2 = $y2<br>";
echo"<br>$a3 $b3 $c3 $d3 = $y3<br>";
echo"<br>$a4 $b4 $c4 $d4 = $y4<br>";
echo "<br><br>a= $y1<br>b= $y2<br>c= $y3<br>d= $y4<br><br><br>";
echo "<br><br>f(x)={$y1}x?+{$y2}x?+{$y3}x+{$y4}";
?>
so wär sehr sehr sehr gut wennn jemand rat wüßte