المجاميع وحل المعادلات والتفاضل والتكامل
تشرح هذه الصفحة جمع متتالية من الحدود أو ضربها، وإيجاد حلول المعادلات، واشتقاق تعبير في صورة صيغة أو حساب مشتقته عند نقطة، وحساب التكاملات المحددة. استخدمها عندما تحتاج المسألة إلى الرمزين Σ أو Π، أو يصعب حل المعادلة جبريًا يدويًا، أو تريد التحقق من مشتقة أو مساحة تحت منحنى في دراستك.
تستقبل كل هذه الدوال اسم متغيّر ضمن وسائطها، مثل k في sum(k^2, k, 1, 10). يكون هذا الاسم محليًا داخل الاستدعاء فقط، فلا يغيّر أبدًا قيمة تحمل الاسم نفسه في موضع آخر من الملاحظة.
المجاميع وحواصل الضرب المنتهية
sum(k, k, 1, 100) الناتج 5,050sum(k^2, k, 1, 10) الناتج 385summation(2*k - 1, k, 1, 10) الناتج 100product(k, k, 1, 5) الناتج 120الوسائط هي التعبير والمتغير والقيمة الأولى والقيمة الأخيرة. تُشمَل النهايتان، لذا يجمع sum(k, k, 1, 100) الأعداد 1 + 2 + … + 100. وsummation اسم آخر لـsum. يوضح السطر الثالث أن مجموع أول عشرة أعداد فردية هو 10²، أما السطر الأخير فيحسب مضروب 5.
تدعم عمليات الجمع المتسلسل العملات والوحدات، مما يجعلها مناسبة لحساب المدّخرات الدورية:
# £1,200 paid in at the start of each year for 5 years, at 5%sum(£1200 * 1.05^k, k, 1, 5) الناتج £6,962.30يفيد حاصل الضرب في سلاسل الاحتمالات. احتمال اشتراك شخصين على الأقل في تاريخ الميلاد ضمن مجموعة من 23 شخصًا يساوي واحدًا ناقص احتمال اختلاف تواريخ ميلاد الأشخاص الـ23 جميعًا:
p = 1 - product((365 - k)/365, k, 0, 22)(p as %) to 1 dp الناتج 50.7%بعض التفاصيل:
- يجب أن تكون القيمتان الأولى والأخيرة عددين صحيحين.
- إذا كانت القيمة الأخيرة أصغر من الأولى، فلا توجد حدود في المتسلسلة: يكون المجموع 0 وحاصل الضرب 1.
- يمكن أن تتضمّن عملية جمع أو ضرب متسلسلة واحدة 10,000 حد على الأكثر.
- يمكن تداخل عمليات الجمع، مثل
sum(sum(j, j, 1, n), n, 1, 4)التي تعطي20. وتشترك الاستدعاءات المتداخلة في حدّ إجمالي واحد للعمل الحسابي. - لجمع قيم لديك بالفعل، استخدم قائمة:
sum([4, 8, 15]). راجع القوائم والإحصاء.
الحل الدقيق لمعادلة
عند تمرير معادلة وحدها، يقرأ solve معاملاتها ويحسب الحل كما تفعل على الورق:
solve(2x + 6 = 10) الناتج 2solve(x/3 + 1 = 4) الناتج 9solve(5x + 3 = 2x - 9) الناتج -4# Candles sell for 12, cost 4 each to make, on 2,000 of fixed costssolve(12n = 2000 + 4n) الناتج 250المجهول هو الاسم الوحيد في المعادلة الذي لم تُعرَّف له قيمة. أما أي اسم عرّفته مسبقًا فيُفسَّر بقيمته. وإذا حذفت الطرف الأيمن، يُفترَض أن التعبير يساوي صفرًا.
تعيد المعادلة الخطية عددًا. أما المعادلة التربيعية فتعيد قائمة بجذورها الحقيقية المختلفة، مرتبة من الأصغر إلى الأكبر؛ لذلك يُعرَض الجذر المكرر في قائمة من عنصر واحد:
solve(x^2 - 5x + 6 = 0) الناتج [2, 3]solve(x^2 = 9) الناتج [-3, 3]solve(x^2 - 6x + 9 = 0) الناتج [3]solve(x^2 - 2 = 0) الناتج [-1.4142135624, 1.4142135624]يعتمد شكل النتيجة على نوع المعادلة التي كتبتها، لا على الجذور الناتجة: فالمعادلة التربيعية تُرجِع قائمة دائمًا.
تُحل المعادلات الخطية والمعادلات التربيعية التي يكون مميّزها مربعًا كاملًا باستخدام كسور دقيقة، لذلك تكون نتيجتا solve(x^2 - 5x + 6 = 0) هما 2 و3 تمامًا. عندما لا يكون المميّز مربعًا كاملًا، يُحسب الجذران باستخدام قيم عشرية للجذور التربيعية. ولا يُضمن تساوي قيمتين تقريبيتين حتى لو بدتا متطابقتين: يعرض كل من solve(x^2 - 2 = 0) وsqrt(2) القيمة 1.4142135624، لكن المقارنة تعدّهما مختلفتين.
تُحلّ المعادلات باستخدام أعداد بلا وحدات. تُرفض الوحدات والمبالغ المالية بدل تمريرها عبر إعادة ترتيب جبري لا يحافظ عليها. راجع القاعدة كاملة في ضمانات محرّك الحساب.
عند تعذّر الحل
لا يعتمد الحل على التخمين. إذا لم يكن للمعادلة جذر حقيقي، تُعرض رسالة توضّح ذلك بدلًا من إرجاع جذر مركّب. وتُرفَض المعادلات الأعلى من الدرجة الثانية، مع اقتراح الصيغة العددية كبديل:
solve(x^2 + 1 = 0) الناتج Error: no real solutionsolve(x^3 - 1 = 0) الناتج Unsupported: solve reads equations of degree 1 and 2; this one has degree 3: write solve(expression,x,lower,upper) to search for one root numericallysolve(sin(x) = 0) الناتج Unsupported: solve reads a polynomial in x of degree 1 or 2; write solve(expression,x,lower,upper) to search for one root numericallyلا يمكن أن يظهر المجهول في المقام أو في الأس أيضًا. وإذا احتوت المعادلة على اسمين غير معرّفين، توضّح الرسالة الاسم الذي تعذّر تفسيره:
solve(1/x = 2) الناتج Unsupported: The unknown cannot be a divisor; write solve(expression,x,lower,upper) to search for one root numericallysolve(2^x = 8) الناتج Unsupported: The unknown cannot be an exponent; write solve(expression,x,lower,upper) to search for one root numericallysolve(x + y = 10) الناتج Unsupported: solve reads one unknown, and y holds no value either; give y a value, or write solve(expression,x,lower,upper) to search for one root numericallyإذا كانت جميع القيم تحقّق المعادلة، تظهر رسالة توضّح ذلك بدلًا من اختيار قيمة واحدة:
solve(x - x = 0) الناتج Unsupported: every value of x solves this equation, so it has no single answerتوجّهك كل حالة رفض من هذه الحالات إلى صيغة solve ذات الوسائط الأربعة أدناه، التي تبحث عدديًا عن جذر واحد ولا تشترط شكلًا محددًا للتعبير. لحل عدة معادلات خطية بعدة مجاهيل، استخدم solve_system من المتجهات والمصفوفات.
إيجاد جذر واحد عدديًا
عند استخدام أربعة وسائط، تعمل solve بطريقة مختلفة: تبحث، بين حدَّين تحددهما، عن قيمة للمتغير تحقق المعادلة. استخدمها عندما ترفض صيغة الحل الدقيق أعلاه معادلتك.
solve(x^2 = 2, x, 0, 2) الناتج 1.4142135624solve(x^2 - 4, x, -3, 0) الناتج -2solve(cos(x) = x, x, 0, 1) الناتج 0.7390851332# How long does a stone take to fall 44.1 m?solve(4.9*t^2 = 44.1, t, 0, 10) الناتج 3# Candles sell for £12, cost £4 each to make, plus £2,000 of fixed costssolve(12*n = 2000 + 4*n, n, 0, 1000) الناتج 250الوسائط هي المعادلة والمتغير والحد الأدنى والحد الأعلى. يمكنك إدخال معادلة تتضمن =، أو تعبير وحده تتعامل معه solve على أنه expression = 0.
اختيار الحدود
تحتاج solve إلى أن يتبادل طرفا المعادلة أيهما أكبر بين الحدَّين. بعبارة أخرى، يجب أن تكون left - right موجبة عند أحد الحدَّين وسالبة عند الآخر، أو مساوية للصفر تمامًا عند أحدهما. ثم تضيّق الدالة المجال حتى تجد نقطة التقاطع.
يترتّب على ذلك ما يلي:
- إذا وُجد جذران بين الحدّين، فقد تكون الإشارة واحدة عند طرفي الفترة. يفشل
solve(x^2 - 4, x, -3, 3)لأنx^2 - 4موجب عند الطرفين. استخدم حدّين يحيطان بجذر واحد، مثل0و3. - لا يمكن العثور بهذه الطريقة على جذر يلامس عنده المنحنى الصفر فقط، مثل
x^2 = 0، لأن الإشارة لا تتغيّر. - يجب أن يكون التعبير معرّفًا على المجال كله. تفشل
solve(sqrt(x) = 2, x, -1, 10)لأنsqrtلعدد سالب تعطي خطأ. ابدأ المجال من0بدلًا من ذلك. - القفز عبر الصفر، كما يحدث في
1/xقرب0، ليس جذرًا؛ لذلك تعيدsolveخطأ في هذه الحالة بدلًا من نتيجة. - يجب أن يكون الحد السفلي أصغر من الحد العلوي، وأن يكون كلاهما عددًا مجرّدًا دون وحدات.
تعيد solve جذرًا واحدًا، ولا تعيد مطلقًا قائمة بكل الجذور. وهي تعمل بالأعداد المجرّدة فقط، لذا لا تضع وحدات في المعادلة.
التقريب وإعادة الاستخدام
النتيجة تقريب عددي دقيق، وقد يوجد اختلاف في آخر رقم معروض. أضف to 4 dp إلى السطر نفسه، أو حدّد أي عدد آخر من المنازل العشرية، لعرض نتيجة مرتّبة. ويمكنك أولًا إسناد اسم إلى النتيجة إذا أردت استخدامها مجددًا:
solve(sqrt(x) = 2, x, 0, 10) الناتج 4.0000000001solve(sqrt(x) = 2, x, 0, 10) to 4 dp الناتج 4side = solve(sqrt(x) = 2, x, 0, 10) الناتج 4.0000000001side * 3 to 2 dp الناتج 12يمكنك إحاطة solve بدالة خاصة بك لإعادة استخدامها بقيم مختلفة:
root(y) = solve(x^2 = y, x, 0, 10)root(9) الناتج 3لحلّ عدة معادلات خطية بعدة مجاهيل، استخدم solve_system الموضّحة في المتجهات والمصفوفات.
الاشتقاق الرمزي
عند تمرير وسيطين، تُرجِع differentiate (أو derivative) المشتقّة على شكل صيغة:
differentiate(sin(x), x) الناتج cos(x)derivative(x^3, x) الناتج (3*(x^(3-1)))derivative(x * sin(x), x) الناتج (sin(x)+(x*cos(x)))derivative(exp(2*x), x) الناتج (exp((2*x))*2)لا تُبسَّط النتيجة، وتوضع كل خطوة بين قوسين: فالتعبير (3*(x^(3-1))) يساوي 3x². وتُحوَّل الأعداد العشرية في التعبير إلى كسور، فيظهر 19.6 بالشكل (98/5).
النتيجة نص، وليست قيمة يستطيع Varlig إجراء الحسابات عليها. لاستخدامها، اكتب الصيغة ضمن دالة تعرّفها بنفسك:
slope(x) = 3*x^2slope(2) الناتج 12يدعم الاشتقاق الرمزي ما يلي:
+و-و*و/والقوى، باستخدام قواعد الجمع والضرب والقسمة والقوة والسلسلة- الدوال
sinوcosوtanوsinhوcoshوexpوlnوsqrt - أسماء أخرى، يتم التعامل معها على أنها ثوابت وتبقى كأسماء في النتيجة
لا يحتاج الاسم إلى قيمة معرّفة في الملاحظة، لذلك يمكنك اشتقاق صيغة تحتوي على رموز:
derivative(a*x^2, x) الناتج (a*(2*(x^(2-1))))تُنتج الدوال الأخرى، مثل abs أو log أو دالة عرّفتها بنفسك، خطأ. استخدم معها الصيغة العددية أدناه. كما أن الصيغة الناتجة لا تتضمن قيود مجال التعبير الأصلي: مشتقة sqrt(x) صالحة فقط حيث تكون sqrt(x) صالحة، حتى لو بدت (1/(2*sqrt(x))) صيغة مستقلة.
الاشتقاق العددي
عند إضافة وسيط ثالث، تعطي derivative ميل المنحنى عند تلك النقطة في صورة عدد:
derivative(x^3, x, 2) الناتج 12differentiate(sin(x), x, 0) الناتج 1derivative(sqrt(x), x, 4) الناتج 0.25height(t) = 20*t - 4.9*t^2derivative(height(t), t, 1) الناتج 10.2تعمل هذه الصيغة مع الدوال التي عرّفتها في الملاحظة، مثل height أعلاه، بخلاف الصيغة الرمزية. ولأنها تحسب قيمة عددية، يحتاج كل اسم آخر في التعبير إلى قيمة. وينطبق ذلك أيضًا على sum وproduct وsolve وintegrate:
derivative(a*x^2, x, 2) الناتج Unsupported: Unknown name: aa = 3derivative(a*x^2, x, 2) الناتج 12النتيجة تقدير يعتمد على قيم قريبة على جانبي النقطة. عندما يكون الميل الحقيقي عددًا بسيطًا، يحفظ Varlig ذلك العدد، فتنجح المقارنة الدقيقة معه. أما قيم الميل غير النسبية، مثل ميل exp(x)، فتحتفظ بجميع أرقامها، لذا قارنها ضمن هامش سماح:
derivative(x^3, x, 2) == 12 الناتج trueabs(derivative(exp(x), x, 1) - e) < 1e-6 الناتج trueيجب أن يكون التعبير أملس دون زوايا أو انقطاعات في جوار النقطة. يُرجِع derivative(abs(x), x, 0) خطأ لأن abs له زاوية عند الصفر، ويُرجِع derivative(sqrt(x), x, 0) خطأ لأن sqrt غير معرّفة إلى يسار الصفر.
التكامل المحدّد
integrate(x^2, x, 0, 3) الناتج 9integrate(sin(x), x, 0, pi) الناتج 2integrate(x^2, x, 3, 0) الناتج -9integrate(4/(1 + x^2), x, 0, 1) الناتج 3.1415926536# Distance fallen in 3 s: integrate the speed, 9.8t m/sintegrate(9.8*t, t, 0, 3) الناتج 44.1الوسائط هي التعبير والمتغير والحد الأدنى والحد الأعلى، بالترتيب نفسه المستخدم في sum. النتيجة هي المساحة الجبرية تحت المنحنى بين الحدَّين، مع احتساب الإشارة. تبديل الحدَّين يعكس الإشارة، وتساويهما يعطي صفرًا. يمكنك تكامل الدوال المعرّفة في ملاحظتك، مثل integrate(power(t), t, 0, 4).
تحسب integrate التكامل عدديًا، لذلك لا تدعم بعض الحالات:
- لا يتوفر التكامل غير المحدد: تحصل دائمًا على عدد، ولا تحصل على صيغة رمزية.
- يجب أن يكون حدّا التكامل عددين منتهيين؛ لا يدعم التطبيق التكامل إلى ما لا نهاية.
- يجب أن يكون التعبير معرّفًا على الفترة كاملة. يُرجِع
integrate(1/sqrt(x), x, 0, 1)خطأ، لأن1/sqrt(0)يتضمّن قسمة على صفر، رغم أن المساحة نفسها منتهية. - قد تعطي التعبيرات ذات القفزات أو القمم الحادّة أو التذبذبات السريعة جدًا نتائج غير دقيقة أو رسالة خطأ.
- الوحدات غير مقبولة، لذا اتركها في تعليق، كما في المثال الأخير.
الخوارزميات والتقارب
لا تحتاج إلى هذه التفاصيل للاستخدام اليومي، ولكنها تساعد عندما تبدو النتيجة خاطئة أو يعطي السطر خطأ.
تستخدم solve طريقة التنصيف: تقسم المجال إلى نصفين مرارًا، وتحتفظ بالنصف الذي تتغير فيه الإشارة. تتوقف عندما لا تبعد قيمة left - right عن الصفر بأكثر من 10⁻¹⁰ ويصبح المجال ضيقًا بما يكفي. وإذا لم تتوصل إلى حل بعد 128 عملية تنصيف، تعيد خطأ.
تطبّق derivative الرمزية قواعد الاشتقاق المعتادة خطوة بخطوة من دون تبسيط. يبلغ الحد الأقصى لطول النتيجة 8,192 محرفًا. هذه ليست منظومة جبر حاسوبي متكاملة.
تقارن derivative العددية الفروق المركزية باستخدام خطوات تتناقص تدريجيًا، وتفحص الميل من كل جانب على حدة. إذا لم تتفق النتائج، أو كانت قيمة قرب النقطة غير معرّفة، تعيد خطأ بدلًا من التخمين.
تستخدم integrate قاعدتَي Gauss–Kronrod التكيفيتين ذواتَي 7 و15 نقطة. تقارن التقديرين على كل جزء من المجال، ثم تقسّم الجزء ذي أكبر خطأ مقدّر، حتى ينخفض مجموع الخطأ المقدّر عن 10⁻⁹ × max(1, |answer|). تسمح بما يصل إلى 2,048 تقسيمًا و20 مستوى من التقسيم، ضمن حدّ مشترك قدره 100,000 خطوة. نقاط أخذ العينات غير متساوية التباعد، لذلك يُحسب تكامل التذبذب السريع مثل cos(128*pi*x) من 0 إلى 1 على نحو صحيح بقيمة قريبة من الصفر، بدل اعتباره ثابتًا. ومع ذلك، يظل تقدير الخطأ استدلاليًا؛ لذا تعامل بحذر مع نتائج التعبيرات التي تتضمن نقاطًا شاذة أو انقطاعات.
القواعد الكاملة موجودة في مرجع الرياضيات المتقدم.
مثال يجمع هذه العمليات
إليك طريقة للتحقّق من حل مسألة فيزياء: كرة قُذفت رأسيًا إلى أعلى بسرعة 19.6 m/s، مع اعتبار تسارع الجاذبية 9.8 m/s²:
# Height in metres after t secondsheight(t) = 19.6*t - 4.9*t^2velocity(t) = 19.6 - 9.8*t# Lands when the height is back to zero (skip t = 0)landing = solve(height(t) = 0, t, 1, 10) الناتج 4# Speed after 1 second, from the slope of the heightderivative(height(t), t, 1) الناتج 9.8# Highest point, where the velocity is zeropeak = solve(velocity(t) = 0, t, 0, landing) الناتج 2height(peak) الناتج 19.6# Check: integrating the velocity up to the peak gives the same heightintegrate(velocity(t), t, 0, peak) الناتج 19.6تهبط الكرة بعد 4 ثوانٍ، وتبلغ ارتفاع 19.6 m بعد ثانيتين. يمنع الحد الأدنى 1 في سطر landing الدالة solve من اختيار الجذر الآخر عند t = 0. يتحقق السطر الأخير من الارتفاع بطريقة ثانية، بتكامل السرعة.