Udviklingsværktøjer

Expression Parser

Et .NET-bibliotek, der lader jer ændre formler uden at genkompilere applikationen. Formlerne angives som tekst og kan indeholde variabler, indbyggede funktioner og jeres egne funktioner.

Indeholder 440+ funktioner, 80+ enheder og 47 fysiske konstanter til testsystemer, simuleringer og teknisk software.

"sin(x) * exp(-t/tau) + offset" Expression Parser 0.7854231 Variabler x, t, tau, offset Funktioner sin, exp, sqrt... 440+ Funktioner 80+ Enheder 47 Konstanter <1ms Beregning
Hvorfor Expression Parser?

Beregninger, der kan ændres uden en ny kompilering

Når en formel ligger i kildekoden, skal programmet kompileres igen, hvis formlen ændres. Med Expression Parser kan programmet i stedet indlæse formlen som tekst og beregne resultatet, mens det kører. I bestemmer, hvordan formlerne indlæses og kontrolleres, og hvilke brugere der får adgang til dem.

Testsystemer

Testsekvenserne kan indlæse de formler, de skal bruge, i stedet for at have dem skrevet ind i testkoden.

Maskinstyring

Formler kan indgå i signalbehandling og styring. Ændringer skal afprøves i den konkrete applikation, hvor det også skal kontrolleres, at beregningerne opfylder dens tidskrav.

Simulering

I kan afprøve forskellige matematiske modeller ved at ændre formler og inputvariabler uden at genkompilere programmet.

Omfang

Funktioner, enheder og konstanter

Biblioteket dækker generel matematik og beregninger inden for fysik og elektronik.

120+

Matematiske funktioner

Trigonometri, algebra, differential- og integralregning, statistik, sandsynlighedsregning samt Bessel- og gammafunktioner.

50+

Fysiske beregninger

Klassisk mekanik, termodynamik, elektromagnetisme, kvantemekanik og optik.

35+

Beregninger til elektronik

Kredsløbsanalyse, effektberegning, filterdesign, impedans og digital logik.

45+

Logik og booleske operationer

Boolesk algebra, bitvise operationer, mængdelære, fuzzy logic og sammenligninger.

80+

Enhedsomregning

Biblioteket omregner enheder for længde, masse, temperatur, energi, tryk og frekvens.

47

Fysiske konstanter

Blandt andet lysets hastighed, Plancks konstant, gravitationskonstanten og Avogadros konstant.

Kodeeksempler

Sådan bruger I biblioteket i C#

Grundlæggende brug
using ULTRAMEGA.ExpressionParser;

var evaluator = new ExpressionEvaluator();

// Simple calculations
double result1 = evaluator.Evaluate("2 + 3 * 4");       // 14
double result2 = evaluator.Evaluate("sin(pi/4)");       // 0.7071
double result3 = evaluator.Evaluate("sqrt(25)");        // 5

// Using variables
evaluator.SetVariable("x", 5);
evaluator.SetVariable("y", 3);
double result4 = evaluator.Evaluate("x^2 + y^2");       // 34
Teknisk beregning
// Beam deflection: δ = FL³/(48EI)
evaluator.SetVariable("F", 10000);      // Force (N)
evaluator.SetVariable("L", 6);          // Length (m)
evaluator.SetVariable("E", 200e9);      // Young's modulus (Pa)
evaluator.SetVariable("I", 8.33e-6);    // Second moment (m⁴)

string formula = "F * L^3 / (48 * E * I)";
double deflection = evaluator.Evaluate(formula);

// Change formula at runtime - no recompile needed
formula = "F * L^3 / (3 * E * I)";  // Cantilever beam
double newDeflection = evaluator.Evaluate(formula);
Fysik med indbyggede konstanter
// Orbital period using built-in constants
evaluator.SetVariable("M", 5.972e24);   // Earth mass (kg)
evaluator.SetVariable("r", 7000e3);     // Orbital radius (m)

// G (gravitational constant) is built-in
string period = "2 * pi * sqrt(r^3 / (G * M))";
double T = evaluator.Evaluate(period);

// Orbital velocity
double v = evaluator.Evaluate("sqrt(G * M / r)");
Tekniske specifikationer

Ydelse og kompatibilitet

Ydelse

  • Beregningstid: < 1 ms
  • Hukommelse: < 5 MB
  • Trådsikker: Ja

Kompatibilitet

  • .NET Framework 4.7.2+
  • .NET Core 3.1+
  • .NET 5, 6, 7, 8

Funktioner

  • Detaljerede fejlbeskeder
  • Validering af udtryk
  • Understøttelse af egne funktioner

Tallene stammer fra interne målinger og er ikke garanterede grænser. Resultaterne afhænger af udtrykket, hardwaren og belastningen. Kontakt os for oplysninger om målebetingelserne.

Hent Expression Parser

.NET-biblioteket findes på vores downloadside. Vi hjælper gerne med spørgsmål om licens, understøttede .NET-versioner og integration med jeres applikation.