Formules uitrekenen

Status
Niet open voor verdere reacties.

LarsL

Gebruiker
Lid geworden
19 sep 2008
Berichten
155
Hallo allemaal,
Ik wil graag een wiskundige (lineaire) formule laten berekenen in PHP.
Je voert dan bijvoorbeeld in: y = 1x*2
Dan wil ik via PHP die formule laten berekenen en zo de roosterpunten voor een grafiek laten berekenen en in een tabel laten zetten dus bijv iemand zet erbij 8 roosterpunten met de formule y=1x*2 dan wil ik in php een tabel laten genereren voor die 8 roosterpunten:
x 1 2
y 2 4

enzovoort.
Maar ik wil ook dat de gebruiker andere gegevens in kan voeren dan die voorbeeldformule dus bijv. y=14*2x-9 hoe zorg ik dan dat ik die roosterpunten kan berekenen?
Als dit me gelukt is heb ik nog een paar vragen maar die komen dan wel :p

- Lars
 
Hoe complex wil je de formules hebben? Als je alleen lineaire formules wil, zou ik gewoon een paar invoervakken maken; een voor a, een voor b, en een voor het aantal roosterpunten.

Vervolgens bereken je de rooster punten met een loop like so ->

PHP:
for ( $i = 0 ; $i < $rooster_punten ; $i++ ) {
 $punt[ $i ] = $a * $i + $b;
}

Dus eigenlijk precies zoals je verwacht, je vult gewoon X in van 1 tot het aantal roosterpunten ;)

Als je de hele formule in 1 invoerveld wilt, dan moet je een kleine routine schrijven om de invoer uit elkaar te trekken, maar dat is in dit geval wel een stukje moeilijker.
 
Oké en hoe krijg ik dat dan in een tabel als deze?:
1862e4a46f08532tabel.bmp


En nu nog een (hele) moeilijke vraag, hoe kan ik met de gd library een soort grafiek maken door de roosterpunten dus ook echt te verwerken?
 
Laatst bewerkt door een moderator:
Daar zou ik niet GD voor gebruiken, maar een simpele Javascript Canvas tool :) Die doet dat veel makkelijker.

De code is iets van

Code:
<table>
  <tr>
    <td>X</td>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
     <td>Y</td>
     <td>5</td>
     <td>10</td>
  </tr>
</table>
Denk ik?

Tenzij je iets anders bedoelt :)
 
Het probleem is dat ik geen javascript kan :)
En die tabel bedoel ik inderdaad =)
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan