mXparser
mXparser هو محلل /مقيّم تعابير رياضية مفتوح المصدر ، يوفر إمكانية حساب مختلف التعابير أثناء التشغيل . [ 1 ] تُعطى تعريفات التعابير كنص عادي، ثم يتم التحقق منها من حيث القواعد/النحو ، وأخيرًا يتم حسابها. يتم الاحتفاظ بشفرة المصدر الخاصة بالمكتبة بشكل منفصل للغة Java و C# ، مما يوفر نفس واجهة برمجة التطبيقات (API) لـ Java/JVM و Android و .NET و Mono ( متوافق مع مواصفات اللغة المشتركة ).
الميزات الرئيسية / أمثلة الاستخدام
يوفر mXparser وظائف مثل: العمليات الحسابية الأساسية، والضرب الضمني، والثوابت والوظائف المدمجة، وعمليات حساب التفاضل والتكامل العددي، والمعاملات المتكررة، والثوابت المعرفة من قبل المستخدم، والوظائف المعرفة من قبل المستخدم، والتكرار المعرف من قبل المستخدم، ودعم الرموز الرياضية Unicode .
المشغلون الأساسيون
المصدر: [ 2 ]
يدعم mXparser عوامل التشغيل الأساسية، مثل: الجمع '+' ، والطرح '-' ، والضرب '*' ، والقسمة '/' ، والمضروب '!' ، والأس '^' ، وباقي القسمة '#' .
Expression e = new Expression ( "2+3/(4+5)^4" ); double v = e . calculate ();الضرب الضمني
المصدر: [ 2 ]
Expression e = new Expression ( "2(3+4)3" ); double v = e . calculate ();Expression e = new Expression ( "2pi(3+4)2sin(3)e" ); double v = e . calculate ();المصدر: [ 2 ]
من الممكن الجمع بين التعبيرات النموذجية والعلاقات الثنائية (مثل: أكبر من '>' ، أصغر من '<' ، المساواة '=' ، عدم المساواة '<>' ، أكبر من أو يساوي '>='، أصغر من أو يساوي '<=')، حيث ينتج عن كل تقييم للعلاقة إما '1' للنتيجة الصحيحة ، أو '0' للنتيجة الخاطئة .
Expression e = new Expression ( "(2<3)+5" ); double v = e . calculate ();المصدر: [ 2 ]
يعمل المنطق البولياني أيضًا بافتراض تكافؤ "1 كصحيح " و"0 كخطأ ". تشمل عوامل التشغيل البوليانية المدعومة ما يلي: AND (الوصل) ، OR (الفصل) ، NAND (ضربة شيفر )، NOR ، XOR (الاستثناء الحصري) ، IMP (الاستلزام ) ، CIMP (الاستلزام العكسي) ، NIMP (عدم الاستلزام المادي) ، CNIMP (عدم الاستلزام العكسي ) ، EQV (الشرط الثنائي المنطقي) ، النفي .
Expression e = new Expression ( "1 --> 0" ) ; double v = e.calculate ( );الدوال الرياضية المدمجة
المصدر: [ 2 ]
يدعم هذا البرنامج الدوال الرياضية الشائعة (أحادية وثنائية وعدد متغير من الوسائط)، بما في ذلك: الدوال المثلثية ، والدوال المثلثية العكسية ، والدوال اللوغاريتمية ، والدالة الأسية ، والدوال الزائدية ، والدوال الزائدية العكسية ، وأعداد بيل ، وأعداد لوكاس ، وأعداد ستيرلينغ ، ودالة عد الأعداد الأولية ، ودالة التكامل الأسي ، ودالة التكامل اللوغاريتمي ، والتكامل اللوغاريتمي المزاح ، ومعامل ذي الحدين ، وغيرها.
Expression e = new Expression ( "sin(0)+ln(2)+log(3,9)" ); double v = e . calculate ();Expression e = new Expression ( "min(1,2,3,4)+gcd(1000,100,10)" ); double v = e . calculate ();Expression e = new Expression ( "if(2<1, 3, 4)" ) ; double v = e.calculate ( );Expression e = new Expression ( "iff( 2 <1, 1; 3 <4, 2; 10<2, 3; 5<10, 4)" ); double v = e.calculate ();ثوابت رياضية مدمجة
المصدر: [ 2 ]
ثوابت رياضية مدمجة، بدقة عالية.
Expression e = new Expression ( "sin(pi)+ln(e)" ); double v = e . calculate ();عوامل التشغيل المتكررة
المصدر: [ 2 ]
عمليات الجمع والضرب المتكررة .
Expression e = new Expression ( "sum(i, 1 , 10, ln(i))" ); double v = e.calculate ( );Expression e = new Expression ( "prod(i, 1 , 10, sin(i))" ); double v = e.calculate ( );المصدر: [ 2 ]
يوفر mXparser تنفيذ عمليات التفاضل والتكامل التالية .
Expression e = new Expression ( "der(sin(x), x)" ) ; double v = e.calculate ( );Expression e = new Expression ( "int( sqrt(1-x^2), x, -1, 1)" ); double v = e . calculate ();الأعداد الأولية تدعم
المصدر: [ 2 ]
Expression e = new Expression ( "ispr(21)" ); double v = e.calculate ( ) ;Expression e = new Expression ( " Pi (1000)" ); double v = e.calculate ( );المصدر: [ 2 ]
Expression e = new Expression ( "√2" ); double v = e.calculate ( ) ;Expression e = new Expression ( "∜16 + ∛27 + √16" ); double v = e . calculate ();Expression e = new Expression ( "∑(i, 1, 5, i^2)" ); double v = e . calculate ();العناصر التي يحددها المستخدم
توفر المكتبة واجهة برمجة تطبيقات لإنشاء كائنات معرفة من قبل المستخدم، مثل: الثوابت، والوسائط، والدوال.
ثوابت معرفة من قبل المستخدم
المصدر: [ 3 ]
Constant t = new Constant ( "t = 2*pi" ); Expression e = new Expression ( "sin(t)" , t ); double v = e . calculate ();الوسائط التي يحددها المستخدم
المصدر: [ 3 ]
Argument x = new Argument ( "x = 5" ); Argument y = new Argument ( "y = 2*x" , x ); Expression e = new Expression ( "sin ( x)+y" , x , y ); double v = e.calculate ( );الدوال المعرفة من قبل المستخدم
المصدر: [ 3 ]
دالة f = دالة جديدة ( "f ( x , y) = sin(x)+cos(y)" ); تعبير e = تعبير جديد ( "f(1,2)" , f ); قيمة v = e.calculate ();الدوال المتغيرة المعرفة من قبل المستخدم
المصدر: [ 3 ]
دالة f = دالة جديدة ( "f(...) = مجموع( i, 1, [npar], par(i) )" ); تعبير e = تعبير جديد ( "f(1,2,3,4)" , f ); عدد عشري v = e . حساب ();التكرار المعرف من قبل المستخدم
المصدر: [ 3 ]
Functionfib=newFunction("fib(n) = iff( n>1, fib(n-1)+fib(n-2); n=1, 1; n=0, 0 ) )");Expressione=newExpression("fib(10)",fib);doublev=e.calculate();Requirements
Source:[3]
Documentation
mXparser - source code
See also
References
External links
- Free mathematics software
- Parsing
- 2010 software
- Free software programmed in Java
- Free software programmed in C Sharp
- Software using the BSD license
- Free mobile software
- Software that uses Mono (software)
- Free and open-source Android software
- .NET software
- Computer algebra systems
