حاسبة الالتفاف
مرّر متتالية فوق الأخرى واجمع حواصل الضرب عند كل موضع: التفاف [1, 2, 3] مع [0.5, 0.5] يعطي [0.5, 1.5, 2.5, 1.5]. وتُحفظ كل التداخلات الجزئية، فيكون طول الناتج n + m − 1. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص الأول
- 1, 2, 3
- النص الثاني
- 0.5, 0.5
- طول a
- 3
- طول b
- 2
- الطول
- 4
- التسلسل
- 0.5, 1.5, 2.5, 1.5
الالتفاف المتقطع هو العملية الأساسية في معالجة الإشارات والرياضيات التطبيقية: فهو يُزيح متتالية منتهية فوق أخرى، وعند كل تداخل يضرب القيم المتناظرة ويجمع حواصل الضرب. عند إعطاء متتاليتين a بطول n وb بطول m، تُرجع هذه الحاسبة التفافهما الخطي الكامل، وهو متتالية جديدة طولها n زائد m ناقص واحد، قيمتها ذات الترتيب k هي مجموع a[i] مضروبًا في b[j] على كل زوج من الأدلة يحقق i زائد j يساوي k. وهو الحساب نفسه الكامن وراء الترشيح ذي الاستجابة المنتهية للدفعة (FIR)، والمتوسطات المتحركة، وضرب كثيرات الحدود، وتوزيعات احتمالات مجاميع نرد مستقل. يجب أن تحتوي كلتا المتتاليتين على قيمة واحدة على الأقل، وأن تكون كل قيمة عددًا منتهيًا؛ وتُرفض المتتاليات الفارغة والقيم غير المنتهية مثل NaN أو Infinity برسالة تحقق واضحة.
ماذا يعني الالتفاف المتقطع وكيف يُحسب
يجيب الالتفاف عن سؤال بسيط: إذا قلبتَ متتالية وأزحتَها فوق أخرى، وعند كل محاذاة ضربتَ الأزواج المتداخلة وجمعتَ حواصل الضرب، فأي عدد يُقرأ عند كل موضع؟ صياغةً رياضية، لمتتاليتين a بطول n وb بطول m، يكون الالتفاف c الذي يساوي a نجمة b متتاليةً بطول n زائد m ناقص واحد، تُعرَّف بأن c[k] يساوي مجموع a[i] مضروبًا في b[k ناقص i] على كل i صالح.
ومثال ملموس يوضح ذلك: التفاف [1, 2, 3] مع [0.5, 0.5] يعطي [0.5, 1.5, 2.5, 1.5]، لأن كل عينة ناتجة هي متوسط عينة داخلة مع جارتها، بأوزان منصِفة عند الطرفين. وهذا الوضع «الكامل» الذي تُرجعه هذه الأداة يحتفظ بكل التداخلات الجزئية، بما فيها مواضع التلامس المفرد عند كلا الطرفين. وتنفذ الخوارزمية المباشرة المستخدمة هنا n في m من خطوات الضرب والتراكم، وهو أمر فوري للمتتاليات المستخدمة في التعليم وتصميم المرشحات وتحليل البيانات.
ومن المفيد معرفة أن الالتفاف تبديلي، فـ a نجمة b يساوي b نجمة a، وتجميعي أيضًا، فيمكن إعادة ترتيب عمليات التنعيم المتسلسلة دون تغيير النتيجة. كما توزع العملية على الجمع، ولهذا تعتمد نظرية الأنظمة الخطية عليها اعتمادًا كبيرًا.
المدخلات والحدود وقواعد التحقق
تقبل الحاسبة حقلين، a وb، كلٌّ منهما مصفوفة غير فارغة من الأعداد. وقد تكون القيم أعدادًا صحيحة أو عشرية أو سالبة، وتُحوَّل السلاسل الرقمية بالترميز العلمي مثل 1.5e-3 بأمان. وتحمي قاعدتان صارمتان هذا العقد.
الأولى: لا يجوز أن تكون أي متتالية فارغة، إذ لا التفاف لمدخل طوله صفر، فيُرفض بدلًا من معاملته صامتًا بوصفه دفعة صفرية. الثانية: يجب أن يكون كل عنصر عددًا منتهيًا؛ وتُرفض NaN وInfinity والقيم التي قد تفيض إلى نتائج غير منتهية أثناء التراكم برسالة تذكر الحقل والدليل المخالفين. وكل متتالية محدودة بـ 4096 عنصرًا، مما يبقي حلقة O(n·m) المباشرة داخل ميزانية الحوسبة بارتياح مع تغطية جميع الاستخدامات التعليمية والهندسية الواقعية.
أين يُستخدم الالتفاف عمليًا
يظهر الالتفاف في مواضع أكثر بكثير مما يوحي به اسمه. ففي معالجة الإشارات الرقمية هو الطريقة التي يُطبَّق بها المرشح ذو الاستجابة المنتهية للدفعة: يحمل النواة b أوزان المناوبات ويكون الناتج هو الإشارة المرشحة، ولذلك فإن المتوسط المتحرك بعرض ثلاثة هو ببساطة الالتفاف مع [1/3, 1/3, 1/3]. وفي الاحتمالات، توزيع مجموع متغيرين عشوائيين متقطعين مستقلين هو التفاف دالتي الكتلة الاحتمالية لهما؛ والتفاف التوزيع المنتظم لنرد واحد مع نفسه ينتج التوزيع المثلثي المعروف لنردين.
وفي الجبر، ضرب كثيرتي حدود هو بالضبط التفاف قائمتي معاملاتهما، مما يجعل هذه الأداة مدققًا سريعًا للواجبات الرمزية. وفي معالجة الصور، تُطبَّق النوى الثنائية الأبعاد القابلة للفصل بوصفها التفافين أحاديي البعد متتاليين. وحتى الصدى والتردد في الصوت هما التفافان مع استجابة دفعة مسجلة في غرفة حقيقية.
وحيثما كان ناتج النظام تراكبًا مزاحًا ومقيَّسًا لمدخله، كان الالتفاف هو العملية الواصفة له.
حالات الاستخدام
تطبيق مرشح FIR على إشارة معاينة
أدخل عيناتك بوصفها المتتالية a وأوزان مناوبات المرشح بوصفها المتتالية b للحصول على الناتج المرشح. ونواة تنعيم مثل [0.25, 0.5, 0.25] تزيل الضوضاء عالية التردد دون أي مكتبة لمعالجة الإشارات.
توزيع مجموع النرد
ألِفَّ دالة الكتلة الاحتمالية لنرد عادل مع نفسها للحصول على الاحتمالات الدقيقة لمجموع نردين، ثم ألِفَّ مرة أخرى لثلاثة أحجار نرد. وكل خطوة استدعاء واحد بأعداد منتهية قابلة للتحقق.
ضرب كثيرات الحدود مع تحقق يدوي
بما أن ضرب كثيرات الحدود هو التفاف قوائم المعاملات، أدخل معاملات كلا العاملين وقارن المتتالية الناتجة بفكك الرمزي لتكتشف فورًا أخطاء الإشارة والمحاذاة.
الأسئلة الشائعة
ما طول المتتالية الملتفة؟
إذا كانت المتتالية a تحتوي على n من القيم والمتتالية b على m منها، فإن الالتفاف الكامل يحتوي على n + m - 1 من القيم.
هل يهم ترتيب المتتاليتين؟
واصطلاحًا توضع الإشارة الأطول في a والنواة الأقصر في b.
لماذا رُفض مدخلي؟
القاعدتان الصارمتان هما: لا يجوز أن تكون أي متتالية فارغة، ويجب أن يكون كل عنصر عددًا منتهيًا. وتُرفض NaN أو Infinity أو النتائج التي تفيض أثناء التراكم برسالة خطأ تذكر حقل القيمة المخالفة ودليلها.
هل هذا التفاف دائري أم خطي؟
تحسب هذه الأداة الالتفاف الخطي الكامل مع حشو بالأصفار عند الطرفين، وهو الناتج نفسه الذي تحصل عليه من الجمع المباشر. ولا تلتف المتتاليات حلقيًا كما يفعل الالتفاف الدائري (الدوري).
هل يوجد حد للحجم؟
يجوز أن تحتوي كل متتالية على 4096 عددًا منتهيًا كحد أقصى.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/convolution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":[1,2,3],"b":[0.5,0.5]}'const res = await fetch("https://api.kit.forhosting.com/math/convolution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": [
1,
2,
3
],
"b": [
0.5,
0.5
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/convolution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": [
1,
2,
3
],
"b": [
0.5,
0.5
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/convolution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":[1,2,3],"b":[0.5,0.5]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":[1,2,3],"b":[0.5,0.5]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/convolution", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"a": [
1,
2,
3
],
"b": [
0.5,
0.5
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.convolution",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_items | 4096 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
وتُشغِّل الأداة المجانية في المتصفح وواجهة API المدفوعة الدالة الصرفة نفسها، فلا تتباين النتائج بين القناتين أبدًا.
المدخلات والحدود وقواعد التحقق
ويُبلغ كائن الإخراج عن length_a وlength_b وطول الإخراج والمتتالية الملتفة نفسها تحت المفتاح sequence، بحيث تستطيع السكربتات التحقق من الأحجام دون إعادة حسابها.
أين يُستخدم الالتفاف عمليًا
ويكلف مسار API مبلغ $0.002 لكل طلب، بينما تنفذ أداة المتصفح الرياضيات نفسها مجانًا.
أسئلة تقنية
كم تبلغ تكلفة API؟
حاسبة المتصفح مجانية وغير محدودة. أما استدعاء القدرة نفسها عبر API فيكلف $0.002 لكل طلب؛ وتشغل القناتان الدالة القطعية نفسها.