linspace تولد قيمًا متساوية التباعد؛ endpoint=False يستبعد النهاية ويغير الخطوة. [1]
خمس قيم وأربع فواصل بينها
نختار البداية −4 والنهاية 8 والعدد خمسة. الأرقام بلا وحدة، ونكتب القوائم من اليسار إلى اليمين. لا تمثل هذه القيم مشاهدات جمعناها؛ نؤلف شبكة حسابية لنرى أثر الاختيار.
المسافة بين الطرفين 8−(−4)=12. إذا احتفظنا بكليهما في خمس قيم، نقسم هذه المسافة على أربع فواصل، لا على خمسة: 12/(5−1)=3. ننطلق من −4 ونضيف 3 في كل مرة حتى نصل إلى 8.
الناتج [−4,−1,2,5,8]. فرق كل قيمتين متجاورتين 3، وعدد القيم خمس، وعدد الفواصل أربع. ضرب الخطوة في عدد الفواصل يعيد المسافة: 3×4=12.
قد يأتي الالتباس من تسمية العدد «عدد العينات». في حسابنا، الخمس هي عدد القيم التي نكتبها، وليست عدد الانتقالات من الأولى إلى الأخيرة. نراجع الاثنين كلًّا على حدة بدل تبديل المقام دون تفسير.
استبعاد النهاية يعيد توزيع القيم
عند endpoint=False، تؤخذ num قيم من توزيع شامل بعدد num+1، دون الأخيرة. [1]
في مثالنا نقسم المسافة 12 على خمس خطوات: 12/5. نكتب −4 ثم نضيف هذه الخطوة أربع مرات لنحصل على خمس قيم: [−4,−8/5,4/5,16/5,28/5]. ليست هذه الأرقام نتيجة تشغيل المكتبة؛ حسبناها بكسور دقيقة.
الخطوة 12/5 تساوي 2.4 حسابيًا. القيم نفسها تساوي [−4,−1.6,0.8,3.2,5.6] في الكتابة العشرية الدقيقة. هذه مساواة رياضية للكسور، ولا تختبر طريقة تمثيلها داخل نوع فاصلة عائمة.
آخر قيمة 28/5، والنهاية 8=40/5. الفرق 40/5−28/5=12/5، أي خطوة واحدة. بين القيم المكتوبة أربع فواصل، لكن الوصول من البداية إلى النهاية التي لم نكتبها يتطلب خمس خطوات.
إذن العدد بقي خمسة، أما مواضع القيم بعد الأولى فتغيرت. لا نستبعد نهاية القائمة الأولى ونترك الباقي كما هو؛ نعيد توزيع القيم على خطوة تناسب شرط النهاية الجديد.
حذف آخر قيمة يحتاج إلى عدد مختلف
نحذف 8 وحدها من القائمة الشاملة ذات الخمس. تبقى [−4,−1,2,5] بأربع قيم؛ الخطوة بين كل قيمتين ما زالت 3. هذه نتيجة صحيحة للحذف الذي أجريناه، لكنها لا تجيب عن طلب خمس قيم مع استبعاد النهاية.
لإنشاء المقارنة الصحيحة، نزيد عدد القائمة الشاملة إلى ست. يصبح المقام 6−1=5 والخطوة 12/5، وتكون القيم [−4,−8/5,4/5,16/5,28/5,8]. حذف الأخيرة هنا يبقي الخمس المطلوبة والخطوة المناسبة.
الفرق بين الحالتين هو العدد قبل الحذف. شاملة بخمس ثم حذف يعطي أربعًا؛ شاملة بست ثم حذف يعطي خمسًا. حفظ كلمة «استبعاد» وحدها دون num قد يخفي هذا الفرق في مراجعة حساب أو رسم.
نراجع بطاقة مثالنا: البداية −4، النهاية 8، العدد المطلوب 5، اختيار النهاية، والخطوة. retstep=True يعيد القيم والخطوة. [1]
في النموذج الشامل تكون بطاقة الخطوة 3، وفي المستبعد 12/5. تسجيل الخطوة يساعدنا على كشف خلط نتيجة الحذف بالتوزيع الجديد؛ لا ننسب هذه البطاقات إلى مخرجات تنفيذ فعلي.

اتجاه الخطوة وحدود الحساب
نعكس البداية والنهاية فقط: من 8 إلى −4 بخمس قيم. المسافة الموجهة −4−8=−12. مع النهاية تكون الخطوة −12/4=−3 والقيم [8,5,2,−1,−4]. دون النهاية تكون الخطوة −12/5 والقيم [8,28/5,16/5,4/5,−8/5].
في الحالة المستبعدة الهابطة، آخر قيمة −8/5 أكبر من النهاية −4. فرق النهاية ناقص الأخيرة −4−(−8/5)=−12/5 يساوي الخطوة الموجهة. لذلك نستخدم شرط استبعاد النهاية والاتجاه، لا قاعدة «الأخيرة أقل من النهاية» التي تخص المثال الصاعد.
Fraction يدعم حساب الكسور من بسط ومقام صحيحين. [2]
استخدمنا هذا الحساب في نموذج مستقل: توليد بإضافة الخطوة المتكررة، ومقارنة ثانية بالاستيفاء الموزون مباشرة لكل موضع. للطرفين المختلفين من الأعداد الصحيحة −6 إلى 6، ولكل عدد من 2 إلى 8 والاختيارين، فحصنا 2184 شبكة.
راجعنا العدد، والقيمة الأولى، وتساوي الفروق، والمسافة بين أول قيمة وآخرها، والاتجاه، وشرط النهاية. وفي كل شبكة مستبعدة راجعنا أن شاملة بعدد أكبر بواحد ثم حذف الأخيرة تعطيها، وأن حذف الأخيرة من شاملة بالعدد نفسه ينقص العدد.
اجتازت الحسابات 17479 فحصًا، منها سبعة أمثلة مباشرة. هذا تحقق محدود للنموذج الدقيق؛ لا يختبر NumPy أو التقريب العشري أو الطرفين المتساويين أو العدد صفرًا أو واحدًا أو الأطراف المصفوفية أو axis أو dtype أو الجهاز أو الذاكرة أو الأداء. نحدد نطاق الحساب قبل تعميم نتيجة قائمة صغيرة.
| اختيار المثال | العدد | الخطوة | آخر قيمة |
|---|---|---|---|
| شاملة بخمس | 5 | 3 | 8 |
| مستبعدة بخمس | 5 | 12/5 | 28/5 |
| شاملة بخمس ثم حذف | 4 | 3 | 5 |
| شاملة بست ثم حذف | 5 | 12/5 | 28/5 |
للتوسع: الأبعاد والقطر والمنقول.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
