علوم وفضاء

المشتقة على شبكة غير منتظمة: لماذا نحتاج إحداثيات النقاط؟

عند x=1 لدالة x² على العقد 0 و1 و3: الميل الأيسر 1 والأيمن 4؛ الوتر الطويل 3 ومتوسط الميلين 2.5؛ الموازنة بوزني 2/3 و1/3 تعطي 2.
فواصل مختلفة؛ قيم ودالة مفترضتان للحساب.

gradient يقبل إحداثيات النقاط؛ وعند حذف معلومات التباعد يفترض فاصلًا يساوي 1. [1] سنرى أثر ذلك في مثال محسوب.

افصل قيم الدالة عن إحداثياتها

نعلن أولًا نموذجنا: أربع نقاط مرتبة تصاعديًا ومختلفة، إحداثياتها x=[0,1,3,6]، وقيم الدالة f(x)=x² فيها [0,1,9,36]. القيم بلا وحدة في هذا المثال، وليست قراءات جهاز. فروق الإحداثيات 1 ثم 2 ثم 3؛ قائمة القيم وحدها لا تعرض هذه الفواصل.

في gradient يمكن تمرير مصفوفة إحداثيات توافق عدد النقاط. التقدير الداخلي مركزي، والطرفي يتحدد عبر edge_order؛ الخرج يحفظ شكل المدخل. [1]

لنعزل مشكلة الإحداثيات، نحسب أولًا كما لو كانت المواضع 0 و1 و2 و3. عند العقدة الداخلية الثانية يصبح التقدير (9−0)/2=4.5، وعند الثالثة (36−1)/2=17.5. وباستخدام فرق مجاور عند كل طرف نحصل على 1 ثم 27، فتكون القائمة [1,4.5,17.5,27].

هذه ليست نتيجة مشتقة x² عند الإحداثيات الأصلية؛ لقد استبدلنا شبكة النقاط. القيمة 9 تقع أصلًا عند x=3، لكن الافتراض السابق وضعها عند الموضع 2. لا يكفي أن تكون أعداد الدالة صحيحة إذا كانت المسافات التي تدخل في المقامات خاطئة.

نعرف المشتقة الدقيقة هنا مستقلًا: ((x+h)²−x²)/h=2x+h عندما h غير صفر. حد هذا التعبير عند اقتراب h من الصفر هو 2x؛ إذن المشتقة عند نقاطنا تساوي [0,2,6,12]. هذه قائمة مرجعية من الدالة المعلنة، لا تقديرًا من عينات مجهولة.

وازن ميلي الجانبين

لنسم الفاصل الأيسر s والأيمن d، والميلين mL وmR. الصيغة غير المنتظمة تكافئ G=(d×mL+s×mR)/(s+d). [1]

عند x=1، لدينا s=1 وd=2. الميل الأيسر (1−0)/1=1، والأيمن (9−1)/2=4. إذن G=(2×1+1×4)/3=2. الوزن الأكبر يذهب هنا إلى الميل المحسوب عبر الفاصل الأقصر، لأن وزن كل جانب يعتمد على فاصل الجانب المقابل.

أما الوتر الممتد من x=0 إلى x=3 فميله (9−0)/3=3، والمتوسط البسيط للميلين (1+4)/2=2.5. كلاهما مختلف عن المشتقة 2 عند x=1. حساب الميل عبر كامل المسافة وحساب متوسط متساوي الأوزان ليسا هذه الموازنة.

يمكن تحويل حسابنا إلى أوزان مباشرة على قيم العقد: عند 0 و1 و3 تكون الأوزان −2/3 و1/2 و1/6 على الترتيب. جداءاتها مع 0 و1 و9 مجموعها 0+1/2+3/2=2. وعند x=3، الفاصلان 2 و3، والميلان 4 و9؛ فتكون الموازنة (3×4+2×9)/5=6.

لإثبات دقة التربيعية، نكتب الدالة قرب العقدة المستهدفة بالشكل A+Bz+Cz²، حيث z يساوي الإحداثي ناقص إحداثي تلك العقدة. ميل الفترة اليسرى B−Cs، واليمنى B+Cd. بالتعويض يصبح البسط d(B−Cs)+s(B+Cd)=B(s+d)؛ يلغى الحدّان المتعاكسان ويعطي القسمة B.

وفي المقابل، فرق هذه الدالة عن قيمتها عند z=0 مقسومًا على z هو B+Cz؛ حده B. إذن الموازنة تساوي المشتقة لأي دالة تربيعية في هذا الفرض، حتى مع فاصلين غير متساويين. البرهان هو إلغاء جبري، وليس تعميمًا مبنيًا على نجاح مثال واحد.

راجع الطرفين بصورة مستقلة

القيمة الافتراضية edge_order=1 تستخدم فرقًا طرفيًا من الرتبة الأولى، ويمكن اختيار 2 للرتبة الثانية. [1]

في حسابنا من نقطتين، الطرف الأيسر (1−0)/(1−0)=1، والأيمن (36−9)/(6−3)=9. الداخليان المحسوبان سابقًا 2 و6؛ إذن الخرج [1,2,6,9]. اختلاف الطرفين عن 0 و12 لا ينفي صحة الحساب الداخلي؛ لكل موضع نقاط متاحة مختلفة.

نحسب البديل باستيفاء تربيعي محلي عبر ثلاث نقاط ثم نشتقه عند الطرف. عند x=0، العقد 0 و1 و3 تعطي أوزان المشتقة −4/3 و3/2 و−1/6. مجموع الأوزان صفر، وجداؤها مع قيمنا 0 و1 و9 يعطي 0+3/2−9/6=0.

وعند x=6 نستخدم العقد 1 و3 و6. أوزان المشتقة 3/10 و−5/6 و8/15؛ مجموعها صفر أيضًا. مع القيم 1 و9 و36 يصبح الناتج 3/10−45/6+288/15=12. هكذا نحصل في هذا المثال على [0,2,6,12].

لإعادة اشتقاق الأوزان، أساس الاستيفاء الخاص بالعقدة xi هو حاصل ضرب العاملين (x−xj)(x−xk) مقسومًا على (xi−xj)(xi−xk)، حيث j وk العقدتان الأخريان. مشتقته عند الطرف t تساوي ((t−xj)+(t−xk))/((xi−xj)(xi−xk)). جمع هذه المشتقات مضروبة في قيم العقد يعيد الأوزان والأعداد أعلاه.

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

العقد 0 و1 و3 و6 وقيمها التربيعية 0 و1 و9 و36. تقدير الطرفين من نقطتين يعطي 1 و2 و6 و9، ومن ثلاث نقاط يعطي 0 و2 و6 و12؛ المشتقة الدقيقة 0 و2 و6 و12.
في هذه التربيعية، اختلاف القائمتين عند الطرفين.

ميز فرق القيم عن المشتقة

diff في الرتبة الأولى يحسب a[i+1]−a[i]. لقائمة من N عناصر، دون إضافات طرفية، ينتج N−1 فرقًا. [2]

في بياناتنا فرق القيم [1,8,27]، وفرق الإحداثيات [1,2,3]. بقسمة كل فرق قيمة على الفاصل المقابل نحصل على [1,4,9]. الأول ميل الفترة من 0 إلى 1، والثاني من 1 إلى 3، والثالث من 3 إلى 6؛ لذلك لدينا ثلاثة ميول لفترات بين أربع عقد.

يمكن استخدام هذه الميول لبناء التقديرات السابقة، لكن لا يجوز مساواة قائمة الفترات بقائمة مشتقات العقد لمجرد أن الحسابين يتضمنان الطرح والقسمة. مثلًا الميل 4 للفترة من 1 إلى 3 يقع بين المشتقتين الدقيقتين 2 و6 عند طرفيها في مثالنا.

نختبر الآن حد الدقة بدالة أخرى معلنة: f(x)=x³ عند العقد المحلية 0 و1 و3. قيمها 0 و1 و27؛ الميل الأيسر 1، والأيمن (27−1)/2=13. الموازنة السابقة تعطي (2×1+1×13)/3=5.

لكن المشتقة عند x=1 هي 3: ((1+h)³−1)/h=3+3h+h²، وحده عند h→0 يساوي 3. الفرق بين التقدير 5 والمشتقة 3 هو 2. وجود هذا المثال يكفي لرفض ادعاء الدقة لجميع الدوال؛ ولا يثبت مقدار خطأ ثابتًا لأي دالة أو شبكة أخرى.

قبل تفسير قائمة مشتقات، اسأل إذن عن إحداثيات العينات، وصيغة الداخل، وصيغة الطرفين، وهل المعروض قيم عند العقد أم ميول عبر الفترات. نتائجنا حسابية لدوال معلومة؛ لم نختبر ضوضاء قياس، ولا نمنح المثال التربيعي ضمانًا عامًا للدقة.

الإحداثي xالقيمة x²تقدير الطرفين من نقطتينتقدير الطرفين من ثلاث نقاطالمشتقة 2x
00100
11222
39666
63691212

للتوسع: الفواصل بين القراءات.

المراجع

  1. NumPy — gradient
  2. NumPy — diff

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