mXparser - wersja 1.0.2 dostępna do pobrania

mXparser - wysoce elastyczny parser (interpreter) wyrażeń matematycznych dla JAVA oraz C# .NET

mXparser - parser matematyczny

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.


import org.mariuszgromada.math.mxparser.*;

public class mXparserTests {
  public static void main(String[] args) {
    RecursiveArgument z = new RecursiveArgument("z","z(n-1)^2+c", "n"); /* Definicja argumentu rekurencyjnego */
    z.addBaseCase(0, 0);                                                /* Definicja elementu początkowego */
    Constant c = new Constant("c", 0.3);                                /* Deklaracja stałej występującej w równaniu rekurencyjnym */
    z.addConstants(c);                                                  /* Wskazanie argumentowi oczekiwanej stałej 'c' */
    Function diff1 = new Function("diff1", "z(n) - z(n-1)", "n");       /* Definicja funkcji o parametrze n opartej również na argumencie rekurencyjnym */
    diff1.addArguments(z);                                              /* Wskazanie funkcji oczekiwanego argumentu 'z' */
    System.out.println(diff1.calculate(10));                            /* Obliczenie wartości funkcji + wyświetlenie wyniku */
  }
}

Rezultat


0.17863353779409574

 

Pozdrowienia,

Mariusz Gromada

Views All Time
Views All Time
310
Views Today
Views Today
1

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *