أدوات حل المعادلات للمعادلات الرياضية الخطية

StackOverflow https://stackoverflow.com/questions/180327

  •  05-07-2019
  •  | 
  •  

سؤال

أحتاج إلى حل بعض المعادلات الرياضية في طلبي.فيما يلي مثال نموذجي لهذه المعادلة:

a + b * c - d / e = a

قواعد إضافية:

  • ب % 10 = 0
  • ب >= 0
  • ب <= 100
  • يجب أن يكون كل رقم صحيحا
  • ...

أرغب في الحصول على مجموعات الحلول الممكنة لـ a وb وc وd وe.

هناك أي مكتبات هناك, سواء مفتوحة المصدر أو تجارية، والتي يمكنني استخدامها لحل مثل هذه المعادلة؟إذا كانت الإجابة بنعم، ما هو نوع النتيجة التي يقدمونها؟

هل كانت مفيدة؟

المحلول

حل الأنظمة الخطية يستطيع عمومًا يمكن حلها باستخدام البرمجة الخطية.أوصي بإلقاء نظرة على تعزيز uBLAS بالنسبة للمبتدئين - فهو يحتوي على حل مثلثي بسيط.ثم يمكنك مراجعة المكتبات التي تستهدف المزيد من الأساليب المحددة للمجال، ربما QSopt.

نصائح أخرى

أنت تغامر بدخول عالم التحليل العددي، وها هي التنانين.يبدو أن الاختلافات الصغيرة في المواصفات يمكن أن تحدث فرقًا كبيرًا في النهج الصحيح.

أتردد في تقديم اقتراحات محددة دون وصف دقيق إلى حد ما لمجال المشكلة.يبدو الأمر سطحيًا وكأنك تحل مشكلات خطية مقيدة بسيطة بدرجة كافية بحيث يوجد الكثير من الطرق للقيام بذلك ولكن "..." قد تكون مشكلة.

مورد جيد للحلول العامة وما إلى ذلك.سيكون GAMS.قد يكون هناك وزن كبير جدًا للبرامج التي تطلبها.

تريد نظام جبر الكمبيوتر.

يرى https://stackoverflow.com/questions/160911/symbolic-math-lib, ، والتي تكون الإجابات عليها في الغالب ذات صلة بـ c++ مثل c.

أعلم أن هذا ليس سؤالك الحقيقي، ولكن يمكنك تبسيط المعادلة المعطاة إلى:

د = ب * ج * ه مع البريد != 0

متأكد تماما وصفات رقمية سوف يكون لها شيء

أنت تبحث عن نظام جبر حاسوبي، وهذا ليس بالأمر الهين.

الكثير منها متاح، على الرغم من ذلك، جرب هذه القائمة على ويكيبيديا:

http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems

-آدم

هذا يشبه البرمجة الخطية.يفعل هذا قائمة المساعدة؟

بالإضافة إلى المشاركات الأخرى.مجموعات القيود الخاصة بك تجعل هذا يذكرنا بـ مشكلة برمجة الأعداد الصحيحة, ، لذلك قد ترغب في التحقق من هذا النوع من الأشياء أيضًا.ربما يمكن (إعادة) ذكر مشكلتك كمشكلة واحدة.

ومع ذلك، يجب أن تعلم أن مشكلات برمجة الأعداد الصحيحة تميل إلى أن تكون واحدة من أصعب المشكلات الحسابية، لذا قد ينتهي بك الأمر باستخدام العديد من دورات الساعة لحلها.

بالنظر فقط إلى جزء "القواعد الإضافية" يبدو الأمر وكأنه برمجة خطية، وفي هذه الحالة يجب أن يكون LINDO أو برنامج مشابه ينفذ الخوارزمية البسيطة جيدًا.

ومع ذلك، إذا كانت المعادلة الأولى حقا عادي يظهر أن مشكلتك ليست مشكلة جبر خطي - لا ينبغي أن يظهر متغيران يضربان أو يقسمان بعضهما البعض في معادلة خطية!

لذلك أود أن أقول إنك بالتأكيد تحتاج إما إلى نظام جبر حاسوبي أو حل المشكلة باستخدام الخوارزمية الجينية.

نظرًا لأن لديك قيودًا مشابهة لتلك الموجودة في البرمجة الخطية على الرغم من أنك لست موجودًا تمامًا، إذا كنت تريد فقط حلاً لمشكلتك المحددة، فسأقول اختر أيًا من المكتبات المذكورة في نهاية مقالة ويكيبيديا عن الخوارزميات الجينية وقم بتطوير تطبيق ليعطيك النتيجة.إذا كنت تريد نهجًا أكثر عمومية، فعليك محاكاة العمليات الجبرية على جهاز الكمبيوتر الخاص بك، وليس هناك طريقة أخرى.

تحتوي الآلة الحاسبة TI-89 على تطبيق "حلال".لقد تم تصميمه لحل المشكلات مثل تلك الموجودة في مثالك.أعلم أنها ليست مكتبةولكن هناك العديد من برامج محاكاة TI-89 المتوفرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top