Testsystemer
Testsekvenserne kan indlæse de formler, de skal bruge, i stedet for at have dem skrevet ind i testkoden.
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.
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.
Testsekvenserne kan indlæse de formler, de skal bruge, i stedet for at have dem skrevet ind i testkoden.
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.
I kan afprøve forskellige matematiske modeller ved at ændre formler og inputvariabler uden at genkompilere programmet.
Biblioteket dækker generel matematik og beregninger inden for fysik og elektronik.
Trigonometri, algebra, differential- og integralregning, statistik, sandsynlighedsregning samt Bessel- og gammafunktioner.
Klassisk mekanik, termodynamik, elektromagnetisme, kvantemekanik og optik.
Kredsløbsanalyse, effektberegning, filterdesign, impedans og digital logik.
Boolesk algebra, bitvise operationer, mængdelære, fuzzy logic og sammenligninger.
Biblioteket omregner enheder for længde, masse, temperatur, energi, tryk og frekvens.
Blandt andet lysets hastighed, Plancks konstant, gravitationskonstanten og Avogadros konstant.
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
// 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);
// 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)");
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.
.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.