Sven Dzepina wrote:

Hello people =)

Has somebody a nice script, which can solve equations ?

yes, I do now :-)

It would be super, if someone has an idea where I can get such a script /

code in php.

Use mine

Thanks.

you're welcome :-)))

<?php // solve equation

function solve($eq) {

$eq = str_replace(' ', '', $eq);

// validate expression

$terms = explode('=', $eq);

if (count($terms) != 2) {

return('syntax error: you must have one (and only one) "=" in ['

. $eq . '].');

}

// put rhs in lhs

$eq = $terms[0] . '-(' . $terms[1] . ')';

if (substr_count($eq, '(') != substr_count($eq, ')')) {

return('syntax error: parenthesis mismatch in [' . $eq . '].');

}

if (preg_match('/\([^)]*\(/', $eq)) {

return('syntax error: only one level of parenthesis allowed in ['

. $eq . '].');

}

if (preg_match('/[^x0-9+*\/().=-]/', $eq)) {

return('syntax error: the only valid characters are x, 0-9, +, '

. '*, /, (, ), ., and - in [' . $eq . ']');

}

if (preg_match('/[^x0-9\)][-+\/*]/', $eq)) {

return('syntax error: you can only operate on numbers in ['

. $eq . ']');

}

if (preg_match('/[-+\/*][^x0-9\(]/', $eq)) {

return('syntax error: you can only operate on numbers in ['

. $eq . ']');

}

$eq = str_replace('x', '$x', $eq);

$y0 = $y1 = 0;

$x = 0; eval('$y0 = ' . $eq . ';');

$x = 1; eval('$y1 = ' . $eq . ';');

$slope = $y1 - $y0;

$intersect = $y0;

return (- ($intersect / $slope));

}

$eq = '2 * (x + 4) = 10';

echo $eq, ' ==> x = ', solve($eq), '<br />';

$eq = '(2 * x) + 4 = 10';

echo $eq, ' ==> x = ', solve($eq), '<br />';

$eq = '2 * x + 4 = 10';

echo $eq, ' ==> x = ', solve($eq), '<br />';

$eq = '4 + x / 10 = 2';

echo $eq, ' ==> x = ', solve($eq), '<br />';

?>

--

I have a spam filter working.

To mail me include "urkxvq" (with or without the quotes)

in the subject line, or your mail will be ruthlessly discarded.