Skip to content
Michal Svoboda edited this page Feb 8, 2015 · 1 revision

SLMath – Matematická a vizualizační knihovna

SLMath je knihovna, která slouží k vyhodnocování matematických výrazů, matematické analýze a zobrazovaní výsledků v rovině (prostoru).

Základem knihovny jsou dvě třídy MathExpr a MathVar, které se starají o vyhodnocování matematických výrazů

MathExpr Třída vyhodnocuje matematické výrazy: např: 5+sin(2). Třída pracuje s výrazy bez proměnných a umí vyhodnocovat následující funkce:SIN, COS, TAN, ASIN, ACOS, ATAN, ABS, SQRT, EXP, LN, LOG. Poznámka: Třída v současné době neobsahuje syntaktickou kontrolu.

Třída obsahuje 4 veřejné metody: void SetExpresion(char expres); - Nastavíme výraz, který budeme chtít vyhodnotit char GetExpresion(); - Vrátí výraz uložený v objektu double Evaluate(); - Vyhodnotí zadaný výraz double Evaluate(char * part); - Vyhodnotí výraz zadaný v parametru

MathVar Třída slouží k popisu proměnné. Obsahuje dvě veřejné vlastnosti: String name – jméno proměnné double vlalue – hodnota proměnné

SLMathExp

Vlastnosti obou tříd spojuje dohromady .NET komponenta SLMathExp. Která vyhodnocuje matematické výrazy včetně proměnných. Důležitou poznámkou je, že třídy MathVar a SLMathExp využívají rozšíření Managed C++. Podívejme se na možnosti komponenty:

Metoda Evaluate() - vyčíslí výraz Vlastnost Expresion – (get/set) vrací, nastaví výraz Metoda SetExpresion(string) – nastaví výraz Metoda AddVariable(string name, double value) – přidá proměnnou do seznamu proměnných. Metoda DeleteVariable(string name) – vymaže proměnnou ze seznamu proměnných Metoda SetVariable(string name, double value) – nastaví hodnotu proměnné Metoda GetVariable(string name) – vrátí hodnotu proměnné

Clone this wiki locally