قد تقرأ 3+4j في خطوة شريحة وتحتفظ بالعدد 4 وحده. في المثال الآتي نراجع عدد القيم الناتجة، ثم نقارنه بطلبين تخيليين صرفين. الأرقام مؤلفة بلا وحدة.
ما الذي تعنيه الخطوة المركبة؟
تستخدم mgrid الجزء الصحيح من مقدار الخطوة المركبة عددًا للنقاط، وتضم النهاية. [1]
لا نتعامل هنا مع قائمة قيم مركبة نريد رسمها؛ نحدد شريحة بحدين حقيقيين، ثم نراجع كيف يختار وسيط الخطوة عدد القيم التي ينشئها الطلب.
المقدار وعدد القيم
شغّلنا np.mgrid[2:8:3+4j] على NumPy 2.3.5 وCPython 3.12.14. لحساب مستقل، مربع المقدار 3²+4²=25؛ الجذر 5. ليس الجزء التخيلي 4 هو المقدار.
سجلنا [2.0,3.5,5.0,6.5,8.0] بالنوع float64 والشكل (5,). الفواصل الأربع بين خمس قيم تساوي 1.5 لكل فاصلة في هذا المثال؛ البداية 2 والنهاية 8 ظاهرتان في الناتج.
يمكن مراجعة القيم يدويًا: عند الموضع k من 0 إلى 4 نحسب 2×(4−k)/4+8×k/4. تعطي المواضع الخمسة 2 ثم 3.5 ثم 5 ثم 6.5 ثم 8، دون استدعاء منشئ NumPy في المرجع.
تحكمان بخطوة تخيلية صرفة
أبقينا الحدين وطلبنا np.mgrid[2:8:5j]. سجلنا القيم نفسها والنوع والشكل نفسيهما. مقدار 5j في مثالنا 5؛ اختبرنا تطابق المصفوفتين مباشرة، وليس عدد الخانات وحده.
ثم طلبنا np.mgrid[2:8:4j] فحصلنا على [2.0,4.0,6.0,8.0] بالشكل (4,) والنوع float64. أربع قيم وثلاث فواصل هنا؛ ليست القائمة السابقة بعد حذف آخر قيمة، لأن مواقع القيم الداخلية اختلفت.
التحكمان يختبران تفسير الخطوة في أمثلتنا: حذف الجزء الحقيقي من 3+4j وتبديله بـ4j غيّر العدد، بينما اختيار 5j حافظ عليه. لا ننقل هذه النتيجة إلى فرع الخطوة الحقيقية الذي لم نختبره.

المرجع ونطاق الفحص
كوّن المرجع العدد من الجذر الصحيح لمجموع مربعي جزأين صحيحين، ثم حسب كل موضع بكسور موزونة بين الحدين. قارنا القيم بعد تحويل الكسور إلى float بسماح مطلق 1e−12؛ لم يستدع المرجع abs أو linspace أو arange من NumPy.
الشبكة تضم البدايات −3 و1 و4، والنهايات −1 و5 و10، وأزواج الخطوة (2,3) و(4,3) و(−4,3) و(4,−3) و(0,3) و(6,0)، وكل زوج كعدد Python complex. لدينا 3×3×6=54 شريحة؛ أضفنا الطلبات الثلاثة من 2 إلى 8 خارج حدود الشبكة، فصار العدد 57.
لكل شريحة خمس مجموعات تحقق: الشكل والعدد، والنوع float64، وجميع القيم أمام المرجع، والطرفان، والتطابق مع خطوة تخيلية صرفة تحمل العدد المرجعي نفسه. شغّلنا mgrid مرتين لكل شريحة لهذه المقارنة: 114 نداءً، و57×5=285 مجموعة مرت.
النطاق محور واحد وحدود صحيحة وخطوات complex ذات جزأين صحيحين ومقادير تنتج أعدادًا لا تقل عن ثلاثة. لا يشمل شبكات متعددة الأبعاد، أو خطوات حقيقية، أو عدد نقاط صفرًا أو واحدًا، أو أجزاء غير صحيحة وNaN ولانهاية، أو أنواعًا أخرى وذاكرة وأداء.
| الخطوة المركبة | عدد القيم | القيم المسجلة |
|---|---|---|
| 3+4j | 5 | 2,3.5,5,6.5,8 |
| 5j | 5 | 2,3.5,5,6.5,8 |
| 4j | 4 | 2,4,6,8 |
للتوسع: إعادة الشكل وترتيب الفهرسة.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
