تصف هذه المقالة وظيفة تركيب منحنى N-order التي تنفذها Java. شاركه للرجوع إليه ، على النحو التالي:
في المقالة السابقة ، تقوم Java بتنفيذ طريقة لحل متعدد الحدود N-order. بعد أن تتمكن من حل متعدد الحدود ، من الضروري استخدام الفئة للتنبؤ بالبيانات المستقبلية بناءً على عدة بيانات نقاط العينة. تم نشر المصفوفة المجهزة في المقالة السابقة ، لذلك لن أتحدث عنها هنا. تركز هذه المقالة بشكل أساسي على كيفية حساب مصفوفة المعامل بناءً على نقطة العينة وحساب قيمة النقطة المتوقعة.
المبدأ بسيط للغاية ، وتم العثور على الصيغة أيضًا في المقالة السابقة. سأقوم بنشر الكود هنا مباشرة.
يتم استخدام الطبقة commonAlgorithm.PolynomiaSoluter المكتوبة في المقالة السابقة.
حزمة commonalgorithm ؛ استيراد commonalgorithm.polynomialsluter ؛ استيراد java.lang.math ؛ الطبقة العامة Leastsquare {private double [] [] matrixa ؛ مزدوج خاص [] arrayb ؛ عوامل مزدوجة خاصة ؛ ترتيب int الخاص ؛ Public Leastsquare () {} / * * بعد الاستئصال ، قبل الحساب ، يجب عليك أولاً إدخال المعلمات وإنشاء صيغة Arrayx كإحداثي محاور X لنقطة أخذ العينات ، وترتيبها في ترتيب أخذ العينات * بترتيب مناسب. عند تركيب منحنيات عالية الترتيب مع أوامر منخفضة ، قد يكون ذلك غير دقيق ، ولكن من المرتبة العالية للغاية سيؤدي إلى حسابات بطيئة*/ Gublic Boolean GenerateFormula (double [] Arrayx ، double [] Arrayy ، int order) {if (arrayx.length! = arrayy.length) return false ؛ this.order = order ؛ int len = arrayx.length ؛ . arrayb = جديد مزدوج [ترتيب + 1] ؛ // إنشاء مصفوفة y وجزء من الطاقة <= order في مصفوفة x (int i = 0 ؛ i <order+1 ؛ i ++) {double sumx = 0 ؛ لـ (int j = 0 ؛ j <len ؛ j ++) {double tmp = math.pow (arrayx [j] ، i) ؛ SUMX += TMP ؛ arrayb [i] += tmp * arrayy [j] ؛ } لـ (int j = 0 ؛ j <= i ؛ j ++) matrixa [j] [i - j] = sumx ؛ } // قم بإنشاء جزء من Power> order في مصفوفة x لـ (int i = order+1 ؛ i <= order * 2 ؛ i ++) {double sumx = 0 ؛ لـ (int j = 0 ؛ j <len ؛ j ++) sumx+= math.pow (arrayx [j] ، i) ؛ لـ (int j = i - order ؛ j <order+1 ؛ j ++) {matrixa [i - j] [j] = sumx ؛ }} // مثيل polynomiasuluter وحل نظام المعادلات للحصول على تسلسل معامل لكل عوامل ترتيب متعدد الحدود soluter = جديد متعدد الحدود () ؛ العوامل = soluter.getResult (matrixa ، arrayb) ؛ إذا (العوامل == فارغة) العودة كاذبة ؛ عودة أخرى حقيقية ؛ } // نتيجة حساب الإحداثيات المحددة بناءً على إحداثيات الإدخال وعوامل تسلسل المعامل العامة لحساب عام (double x) {double result = العوامل [0] ؛ لـ (int i = 1 ؛ i <= order ؛ i ++) result+= العوامل [i] * math.pow (x ، i) ؛ نتيجة العودة }}ملاحظة: فيما يلي بعض أدوات الحساب لتشير إلى:
منحنيات متعدد الحدود عبر الإنترنت وأدوات تركيب وظائف المنحنى:
http://tools.vevb.com/jisuanqi/create_fun/
ارسم أدوات الرسم البياني المنحنى/الوظيفة عبر الإنترنت:
http://tools.vevb.com/jisuanqi/fun_draw
أداة حساب حلول أحادية الإنترنت (Eq) عبر الإنترنت:
http://tools.vevb.com/jisuanqi/equ_jisuanqi
الآلة الحاسبة العلمية عبر الإنترنت use_advanced calculator calculator على الإنترنت:
http://tools.vevb.com/jisuanqi/jsqkeexue
الآلة الحاسبة على الانترنت calculator_standard:
http://tools.vevb.com/jisuanqi/JSQ
لمزيد من المعلومات حول خوارزميات Java ، يمكن للقراء المهتمين بهذا الموقع عرض الموضوعات: "بنية بيانات Java وبرنامج تعليمي الخوارزمية" ، "ملخص" Tips Java ".
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.