Avatar billede Slettet bruger
23. august 2004 - 13:13 Der er 28 kommentarer og
1 løsning

formel i math til php

Hej jeg ville gerne prøve at lave en formel i php.

$a = $_GET[a];
$b = $_GET[b];
$c = $_GET[c];


x= -$b / 2 * $a
y= -D / 4 * $a

men ved ikke hvordan man gør det præcist... så det virker
Avatar billede detox Nybegynder
23. august 2004 - 13:20 #1
$x = -$b / 2 * $a;

men hvor får du: 'D' fra i den anden?
Avatar billede Slettet bruger
23. august 2004 - 13:31 #2
Husk at kontrollere om du skal bruge parenteser.

-$b / 2 * $a og -$b / (2 * $a) er ikke det samme.

Og du er nødt til at bruge en variabel til diskriminanten, eller indsætte formlen til den. PHP kender ikke selv noget til løsning af andengradsligninger. ;-)
Avatar billede Slettet bruger
23. august 2004 - 13:51 #3
diskriminanten :
-b +- KVADRATRODEN af b(* b(b i 2.))-4 * a * c / 2 * a

Hvordan skrives denne her så?
Avatar billede Slettet bruger
23. august 2004 - 13:54 #4
skal den deles om med en funktion med + og en med -?
Istedet for i 2. er det jo bare ($b * $b)
men istedet for KVADRATRODEN ?
Avatar billede detox Nybegynder
23. august 2004 - 14:07 #5
php har funktionerne sqrt() og pow(). Fx:

echo sqrt(9); // = 3
echo pow(3,2); // = 9
Avatar billede Slettet bruger
23. august 2004 - 14:29 #6
echo sqrt(9); // = 3
Det er Kvadratroden eller hvad?
Avatar billede Slettet bruger
23. august 2004 - 14:31 #7
ja det er det fandt jeg lige ud af...
men hvordan sætter jeg den ind sammen med diskriminanten's formel?
Avatar billede Slettet bruger
23. august 2004 - 14:32 #8
hvad er pow(3,2); = ?
hvad gør den siger den (3*2)+3 = 9
og hvis det stod 4,2 (4*2)+4 = 12?
Avatar billede Slettet bruger
23. august 2004 - 14:34 #9
mit script:

men hvordan får jeg sat sqrt funktion på? sådan som jeg har gjort her?
<?PHP
$a = $_GET[a];
$b = $_GET[b];
$c = $_GET[c];
?>
<style type="text/css">
<!--
.facit {
    text-decoration: underline;
}
-->
</style>
<tabel widt="100%">
<tr>
<td>
<li>a: <? echo $_GET[a]; ?></li><br />
<li>b: <? echo $_GET[b]; ?></li><br />
<li>c: <? echo $_GET[c]; ?></li><br />
</td>
</tr>
<td>
<?
$x = -$b/(2*$a);
echo "x= <font class=\"facit\">" .$x . "</font>";
?>
</td>
<td width="30%">
</td>
<td>
<?
$y = -$D/(4*$a);
echo "y= <font class=\"facit\">" . $y . "</font>";
?>
</td>
</tr>
<tr>
<?
$D = -$b+sqrt(($b * $b)-4*($a * $c));
echo "D= <font class=\"facit\">" . $D . "</font>";
?>
</tr>
</tabel>
Avatar billede detox Nybegynder
23. august 2004 - 15:00 #10
Hvis (($b*$b)-4*($a*$c)) giver et negativt resultat kan du jo ikke tage kvadratroden.
Avatar billede Slettet bruger
23. august 2004 - 15:02 #11
nej det er rigtigt nok, men så gi'r den osse Ø (altså den går ikke op)
men det kan da næsten være lige meget at tage kvadratroden af 6*6
eller 7*7 (for det er jo kvadratroden af 6 i 2. eller 5 i 2... altså et tal i 2.)
eller hvad?
Avatar billede detox Nybegynder
23. august 2004 - 15:05 #12
Ja, kvadratroden af et i anden er jo tallet selv. Men i dit eksempel tager du jo kvadratroden af hele udsagnet: (($b*$b)-4*($a*$c))
Avatar billede detox Nybegynder
23. august 2004 - 15:07 #13
Men hvis $b er stor nok ift $a og $c giver den et resultat (om det så er det korrekte ved jeg ikke). Men du skal rykke den sidste højere op eller kan du ikke bruge $D. Fx:

<?PHP
$a = 2;
$b = 30;
$c = 4;
?>
<style type="text/css">
<!--
.facit {
    text-decoration: underline;
}
-->
</style>
<table widt="100%">
<tr>
<td>
<li>a: <? echo $a; ?></li><br />
<li>b: <? echo $b; ?></li><br />
<li>c: <? echo $c; ?></li><br />
</td>
</tr>
<tr>
<td>
<?
$x = -$b/(2*$a);
echo "x = <font class=\"facit\">" .$x . "</font>";
?>
</td>
</tr>
<tr>
<td>
<?
$D = -$b+sqrt(($b*$b)-4*($a*$c));
echo "D = <font class=\"facit\">" . $D . "</font>";
?>
</td>
</tr>
<tr>
<td>
<?
$y = -$D/(4*$a);
echo "y = <font class=\"facit\">" . $y . "</font>";
?>
</td>
</tr>
</table>
Avatar billede Slettet bruger
23. august 2004 - 15:13 #14
rykke den sidst højere op?
Avatar billede Slettet bruger
23. august 2004 - 15:13 #15
altså $D skal op?
Avatar billede Slettet bruger
23. august 2004 - 15:15 #16
Har lige rykkede lidt rundt på det...

<?PHP
$a = $_GET[a];
$b = $_GET[b];
$c = $_GET[c];
?>
<!-- HTML SCRIPT -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Toppunkt + Diskriminant udregning (<?PHP echo "a: " . $a . " - b: " . $b . " - c: " . $c; ?>)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<!-- STYLE SHEET SCRIPT -->
<style type="text/css">
<!--
.facit {
    text-decoration: underline;
}
.a {
    background-color: blue;
}
.b {
    background-color: red;
}
.c {
    background-color: yellow;
}
-->
</style>
<!-- /STYLE SHEET SCRIPT -->

</head>

<body>

<table width="100%" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
        <tr>
          <td>
         
<!-- Viser A, B og C's tal -->
<li class="a">a: <? echo $a; ?></li><br />
<li class="b">b: <? echo $b; ?></li><br />
<li class="c">c: <? echo $c; ?></li><br />
<!-- /Viser A, B og C's tal -->

</td>
        </tr>
        <tr>
          <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
              <tr>
                <td>
               
<!-- Printer x ud -->
<?
$x = -$b/(2*$a);
echo "x= <font class=\"facit\">" .$x . "</font>";
?>
<!-- /Printer x ud -->

                </td>
                <td>
               
<!-- Printer y ud -->
<?
$y = -$D/(4*$a);
echo "y= <font class=\"facit\">" . $y . "</font>";
?>
<!-- /Printer x ud -->

                </td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td>
         
<!-- Printer Diskriminanten ud -->
<?
$D = -$b+($b * $b)-4*($a * $c)/(2 * $a);
echo "D= <font class=\"facit\">" . $D . "</font>";
?>
<!-- /Printer Diskriminanten ud -->


          </td>
        </tr>
      </table></td>
  </tr>
</table>

<!-- /HTML SCRIPT -->
Avatar billede Slettet bruger
23. august 2004 - 15:17 #17
men i selve formelen (Diskriminanten)
hedder det jo -b +- Kvadratrod($b * $b) blah blah

altså både +- men skal man vælge at lave den af 2 omgange?
Avatar billede detox Nybegynder
23. august 2004 - 15:17 #18
Ja, du bruger jo $D inden den er defineret. Altså her: $y = -$D/(4*$a);
Avatar billede detox Nybegynder
23. august 2004 - 15:19 #19
Ja, jeg tror du må lave +- af 2 omgange
Avatar billede Slettet bruger
23. august 2004 - 15:22 #20
okay...
men kan jeg lokke dig til at lave Diskriminanten(funktion)
Avatar billede detox Nybegynder
23. august 2004 - 15:30 #21
Den har du jo lavet:

$D = -$b+($b * $b)-4*($a * $c)/(2 * $a);
Avatar billede Slettet bruger
23. august 2004 - 15:32 #22
kan dette ikke osse bruges?

<!--
¤¤¤¤¤¤¤¤¤¤COPYRIGHT¤¤¤¤¤¤¤¤¤¤¤
¤    KIM EGEDE JAKOBSEN      ¤
¤    LOCATION: DENMARK      ¤
¤    MAIL: KIM@GEX.dk        ¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
-->
<?PHP
$a = $_GET[a];
$b = $_GET[b];
$c = $_GET[c];
?>
<!-- HTML SCRIPT -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Toppunkt + Diskriminant udregning (<?PHP echo "a: " . $a . " - b: " . $b . " - c: " . $c; ?>)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<!-- STYLE SHEET SCRIPT -->
<style type="text/css">
<!--
.facit {
    text-decoration: underline;
    background-color: black;
    color: white;
}
.a {
    background-color: blue;
}
.b {
    background-color: red;
}
.c {
    background-color: yellow;
}
BODY {
    background-color: gray;
}
-->
</style>
<!-- /STYLE SHEET SCRIPT -->

</head>

<body>

<table width="100%" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
        <tr>
          <td width="10%">
         
<!-- Viser A, B og C's tal -->
<li class="a">a: <? echo $a; ?></li><br />
<li class="b">b: <? echo $b; ?></li><br />
<li class="c">c: <? echo $c; ?></li><br />
<!-- /Viser A, B og C's tal -->
<?PHP
//Formlerne
$x = -$b/(2*$a);
$D = -$b+($b)-4*($a * $c)/(2 * $a);
$y = -$D/(4*$a);
?>
</td>
        </tr>
        <tr>
          <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
              <tr>
                <td>
               
<!-- Printer x ud -->
<?
echo "x = <font class=\"facit\">" .$x . "</font>";
?>
<!-- /Printer x ud -->

                </td>
                <td>
               
<!-- Printer y ud -->
<?
echo "y = <font class=\"facit\">" . $y . "</font>";
?>
<!-- /Printer x ud -->

                </td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td>
         
<!-- Printer Diskriminanten ud -->
<?
echo "D = <font class=\"facit\">" . $D . "</font>";
?>
<!-- /Printer Diskriminanten ud -->


          </td>
        </tr>
      </table></td>
  </tr>
</table>

<!-- /HTML SCRIPT -->
Avatar billede Slettet bruger
23. august 2004 - 15:33 #23
jamen den skal egentlig stadig tage kvadratroden
Avatar billede detox Nybegynder
23. august 2004 - 15:39 #24
Jo scriptet ser ud til at være struktueret rigtigt nu. Jeg er ikke sikker på de formler. Har du et eksempel med værdier, formler og facit.
Avatar billede Slettet bruger
23. august 2004 - 15:41 #25
-6 +- Kvadratrod(-6 * -6)-4*(-4)*0 / (2*(-4))
Det gi'r
-6 +- Kvadratrod 36 - 0 / -8
=> 36 er det tal jeg så skal ruge for at finde $y :P
Hvordan gøres dette? (f.eks. (-6 * -6) -4 * (-4) * 0)
Avatar billede detox Nybegynder
23. august 2004 - 15:55 #26
Hvad med:
$D = -$b+(($b * $b)-4)*($a * $c)/(2 * $a);
Avatar billede detox Nybegynder
23. august 2004 - 16:05 #27
Men hvis kvadratroden skal med:
$D = -$b+sqrt($b * $b)-(4*($a * $c)/(2 * $a));

Men det er rent gætværk. Jeg kan ikke se hvordan formlen skal være ud fra dit eksempel :o(
Avatar billede Slettet bruger
23. august 2004 - 21:02 #28
mit script:
tror lidt af det virker ikke helt sikker:


<!--
¤¤¤¤¤¤¤¤¤¤COPYRIGHT¤¤¤¤¤¤¤¤¤¤¤
¤    KIM EGEDE JAKOBSEN      ¤
¤    LOCATION: DENMARK      ¤
¤    MAIL: KIM@GEX.dk        ¤
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
-->
<?PHP
$a = $_GET[a];
$b = $_GET[b];
$c = $_GET[c];
?>
<!-- HTML SCRIPT -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Toppunkt + Diskriminant udregning (<?PHP echo "a: " . $a . " - b: " . $b . " - c: " . $c; ?>)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<!-- STYLE SHEET SCRIPT -->
<style type="text/css">
<!--
.facit {
    text-decoration: underline;
    background-color: black;
    color: white;
}
.a {
    background-color: blue;
}
.b {
    background-color: red;
}
.c {
    background-color: yellow;
}
BODY {
    background-color: gray;
}
-->
</style>
<!-- /STYLE SHEET SCRIPT -->

</head>

<body>

<table width="100%" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
        <tr>
          <td width="10%">
         
<!-- Viser A, B og C's tal -->
<li class="a">a: <? echo $a; ?></li><br />
<li class="b">b: <? echo $b; ?></li><br />
<li class="c">c: <? echo $c; ?></li><br />
<!-- /Viser A, B og C's tal -->
<?PHP
//Formlerne
$x = -$b/(2*$a);
$D = -$b+sqrt(($b*$b)-4*($a * $c)/(2 * $a));
$d = sqrt(($b * $b)-(4*($a * $c)/(2 * $a)));
$y = -$d/(4*$a);
?>
</td>
        </tr>
        <tr>
          <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
              <tr>
                <td>
               
<!-- Printer x ud -->
<?
echo "x = <font class=\"facit\">" .$x . "</font>";
?>
<!-- /Printer x ud -->

                </td>
                <td>
               
<!-- Printer y ud -->
<?
echo "y = <font class=\"facit\">" . $y . "</font>";
?>
<!-- /Printer x ud -->

                </td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td>
         
<!-- Printer Diskriminanten ud -->
<?
if($D != -$b+($b*$b)-4*($a*$c)/(2*$a)) {
echo "D = <font class=\"facit\">" . $D . "</font>";
} else {
    echo "D = <font class=\"facit\">Ø</font>";
}
?>
<!-- /Printer Diskriminanten ud -->


          </td>
        </tr>
      </table></td>
  </tr>
</table>

<!-- /HTML SCRIPT -->
Avatar billede Slettet bruger
04. august 2005 - 15:20 #29
/lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester