mXparser – wysoce elastyczny parser (interpreter) wyrażeń matematycznych dla JAVA oraz C# .NET
mXparser – wersja 1.0.2 dostępna do pobrania
Zmiana w stosunku do 1.0.1 to poprawa kontroli składni w funkcji definiowanej przez użytkownika. Do wersji 1.0.1 użycie argumentu rekurencyjnego w funkcji definiowanej przez użytkownika powodowało zwiększenie liczby oczekiwanych parametrów wywołania funkcji. Wartość argumentu rekurencyjnego jest wyznaczana automatycznie, stąd w kontroli składni (weryfikując liczbę podanych parametrów) taki argument należy pominąć. Od wersji 1.0.2 liczba parametrów funkcji definiowanej przez użytkownika opiera się na bazie liczby argumentów pomniejszonej o argumenty rekurencyjne.
Przykład
Poniżej przykład demonstrujący działanie wprowadzonej zmiany – proszę przesunąć tekst w celu uwidocznienia komentarzy.
</p>
<p>import org.mariuszgromada.math.mxparser.*;</p>
<p>public class mXparserTests {<br />
public static void main(String[] args) {<br />
RecursiveArgument z = new RecursiveArgument("z","z(n-1)^2+c", "n"); /* Definicja argumentu rekurencyjnego */<br />
z.addBaseCase(0, 0); /* Definicja elementu początkowego */<br />
Constant c = new Constant("c", 0.3); /* Deklaracja stałej występującej w równaniu rekurencyjnym */<br />
z.addConstants(c); /* Wskazanie argumentowi oczekiwanej stałej 'c' */<br />
Function diff1 = new Function("diff1", "z(n) - z(n-1)", "n"); /* Definicja funkcji o parametrze n opartej również na argumencie rekurencyjnym */<br />
diff1.addArguments(z); /* Wskazanie funkcji oczekiwanego argumentu 'z' */<br />
System.out.println(diff1.calculate(10)); /* Obliczenie wartości funkcji + wyświetlenie wyniku */<br />
}<br />
}</p>
<p>
Rezultat
</p> <p>0.17863353779409574</p> <p>
Pozdrowienia,
Mariusz Gromada
Poza Liczbami: Inne Twórcze Przestrzenie
Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury
Matematyka i muzyka są ściśle powiązane przez rytm, harmonię i struktury, które wykorzystują matematyczne wzory i proporcje do tworzenia estetycznych i emocjonalnych doznań. Z nieśmiałą ekscytacją przedstawiam moją pierwszą poważniejszą kompozycję, w której starałem się uchwycić te połączenia.

