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.