sinc في NumPy: sin(πx)/(πx)، وعند الصفر 1. [1] نقارن بأعداد مؤلفة.
اكتب الصيغتين
نكتب N(x)=sin(πx)/(πx)، وU(x)=sin(x)/x؛ عند الصفر نستخدم القيمة الممتدة 1. [1]
عامل π يدخل حجة الجيب والمقام معًا؛ نستعمل الجيب بالراديان. [1]
مدخلاتنا أعداد تعليمية بلا وحدة مادية، وليست قياسات إشارة. نسجل N أو U قبل التعويض.
قارن المدخل نفسه
نختار x=1/2. في N، حجة الجيب π/2، وجيبها 1. المقام π/2 أيضًا، فتكون N(1/2)=1/(π/2)=2/π. القيمة المقربة إلى ست منازل عشرية 0.636620.
أما U عند المدخل نفسه، فتعطي sin(1/2)/(1/2)=2sin(1/2). حسبناها عدديًا ثم قربناها إلى 0.958851. لم نغير المدخل 1/2؛ غيرنا الصيغة التي تقرأه.
نؤلف اختبارًا ثانيًا عند x=3/2. في N تصبح الحجة 3π/2، وجيبها −1. لذلك N(3/2)=−1/(3π/2)=−2/(3π)، أي نحو −0.212207.
في U تصبح الحجة 3/2 والمقام 3/2، فنحصل عدديًا على نحو 0.664997. هذه المقارنة تكشف أن الخلط لا يغير آخر منزلة صغيرة فقط؛ يعطي في هذا المثال إشارتين مختلفتين.
الصور تعرض التقريب إلى ست منازل عشرية. المساواة مع 2/π أو −2/(3π) هوية رياضية في نموذجنا، أما الكتابة العشرية القصيرة فوسيلة عرض. لا نقدمها مخرجات تشغيل sinc، ولم نقس خطأ تنفيذ NumPy.
نجاح التعبيرين عند مدخل خاص لا يجعلهما دالة واحدة. مثلًا اخترنا لهما القيمة الممتدة 1 عند الصفر؛ هذا اتفاق في تلك النقطة، بينما كشف 1/2 و3/2 اختلافًا واضحًا بعيدًا عنها.
أعد قياس المدخل
تقابل الصيغة sin(t)/t استعمال sinc(t/π). [1]
نثبت علاقة نموذجنا بالتعويض: N(t/π)=sin(π×t/π)/(π×t/π). لغير الصفر تختصر الحجة والمقام إلى t، فيصبح الناتج sin(t)/t=U(t).
عند t=1/2، المدخل الذي نعطيه إلى N هو 0.5/π، لا 0.5. الناتج في نموذجنا نحو 0.958851، وهو U(0.5). نسجل المدخل المعدل والقيمة، حتى لا نخلط هذا السطر بسطر N(0.5) السابق.
وعند t=3/2، نعطي N العدد 1.5/π؛ الناتج نحو 0.664997، وهو U(1.5). بقيت الصيغة N كما عرفناها، وتغير ما دخل مكان متغيرها.
إذن N(t/π)=U(t) تختلف عن N(t)=U(t). الأولى تقارن صيغة بمدخل معاد القياس بالأخرى عند t؛ الثانية تحتفظ بالعدد نفسه، وقد نقضتها أمثلتنا.
في نموذجنا، العدد الصحيح غير الصفر n يجعل N(n)=sin(πn)/(πn)=0. أما U عند nπ فتعطي sin(nπ)/(nπ)=0. مواضع الأصفار في المتغير المختار مختلفة المقياس؛ لا نزعم أن تنفيذًا بفاصلة عائمة يعيد صفرًا تامًا عند كل مدخل من هذا النوع.

راجع الصفر وحدود الحساب
عند الصفر، القسمة المكتوبة sin(0)/0 غير معرفة. نختار القيمة الممتدة 1 كما أعلنّا، ونستخدمها في فرع منفصل من نموذج الحساب؛ لا نقسم على الصفر في برنامج الفحص.
أخذنا الشبكة x=k/2 للأعداد الصحيحة k من −30 إلى 30، أي 61 قيمة. للحساب العشري استخدمنا دقة 70 رقمًا؛ حسبنا π بصيغة أركتانجنت خاصة، ثم حسبنا الجيب بمتسلسلة بعد إعادة حجة الزاوية إلى المجال من −π إلى π.
قارنّا هذه القيم بحساب مستقل يستعمل math.sin مباشرة. لكل قيمة خمسة فحوص: اتفاق الحسابين ضمن 2×10^(−14)، والزوجية، وعلاقة N(x)=U(πx)، وعلاقة N(x/π)=U(x)، وهويات شبكة أنصاف الأعداد الصحيحة.
للفحوص العشرية الداخلية في النموذج استخدمنا حد فرق 10^(−60). هذه حدود قبول اخترناها للفحص المحدد، ولا نقدمها مبرهنة على خطأ المتسلسلة لكل مدخل أو ضمانًا لدقة مكتبة.
ومع ثمانية فحوص مباشرة صار العدد 61×5+8=313، وجميعها مرت. أمثلة 0.5 و1.5 والتعويض مع π موثقة مع ملف الحساب؛ المقارنة العددية مستقلة عن أي تشغيل NumPy.
لم نفحص أنواع البيانات أو المصفوفات أو الأجهزة أو مشتقات الدالة، ولم نختبر استيفاءً أو أداء مرشح أو ذاكرة وزمنًا. السؤال هنا هو معنى عامل π وصيغة المدخل التي نكتبها قبل الحساب.
| مدخل مؤلف | N عند المدخل | U عند المدخل |
|---|---|---|
| 0.5 | 0.636620 | 0.958851 |
| 1.5 | −0.212207 | 0.664997 |
للتوسع: وحدات قياس الزوايا.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
