Numerical_Computing_Lec1-Introduction
السلام عليكم يا شباب ازيكم؟ كل سنة وأنتم طيبين. اللي لسة داخلين لو سمحتوا اقعدوا من غير صوت.
أه، في attendance هيتاخد طبعًا في المحاضرة. و... يعني المفروض إن بعد كده في attendance للي قاعد في البيت كمان. Okay؟ المهم يعني، هي المحاضرة يعني أيًا كان أنت دورك النهارده قاعد، دورك الأسبوع الجاي هتبقى قاعد في البيت.
فـ. المحاضرة هتوصلك بالظبط زي ما إحنا شرحناها بكل الـ details اللي موجودة فيها بأسئلتكم بردودي عليها بكل حاجة بس صوت بس مع الـ presentation. ممكن بعد كده هيبقى فيه tablets فـ ممكن نكتب عليها وتـ... برضه اللي هنكتبه عليها كإننا كتبنا على الـ board هيتسجل ويبقى موجود للي ما
في البيت في نفس يعني بعد المحاضرة بـ ساعة تقريبًا عقبال ما تتظبط وتـ... وتـ تعمل لهم upload. فـ... يعني هيبقى فيه فيه attendance أعمال السنة هنديها على إيه؟ الـ attendance و assignnments وحضور معامل يعني دايمًا في ميعادك احضر. إحنا مش عارفين إيه اللي هيحصل بعد كده، مش عارفين إيه الظروف الأسبوع الجاي أو الأسبوع اللي بعده.
أي وقت لا قدر الله حصل مثلًا وقعدتوا online وقعدتوا كلكم online، هنجيب لكوا أعمال السنة منين؟ هنجيب لكوا أعمال السنة من الفترة اللي أنتوا اشتغلتوها. خلاص؟ يعني أتوقع كده، الله أعلم إيه اللي هيحصل. فـ الفترة اللي أنت المفروض تنزلها انزلها. يعني انا بتهيأ لي الناس جالها اكتئاب من قعدة البيت، فـ انزل، معلش خد الطريق ساعتين.
معلش. تمام؟ أي استفسارات تانية حوالين موضوع اللي قاعد واللي هييجي؟ فـ أنت هتيجي في كشف هيمر عليك بس النهارده معلش هناخد الـ attendance بس هنطلع ورقة عشان لسة الكشوفات ما جهزتش. هنطلع ورقة ناخد فيها الـ attendance.
يا شباب اللي لسه داخلين لو سمحتوا تبعدوا لو المدرج واسع. أما نملأ المدرج ابقوا زنقوا بعد كده. ده لمصلحتكوا. أنا كده كده بعيد، مصلحتكوا أنتم. تمام؟
طيب، نبتدي بقى نبتدي؟ طيب إحنا طبعًا إحنا متعرفين على بعض قبل كده في الـ Operations Research، تعرفنا على بعض وبعدين سريعا يعني انتهى التعارف يعني. و امتحنا تقريبًا وكنتوا بتسمعوني طول الـ طول الـ...
المحاضرات كانت كنتوا بتفهموا؟ بتفهموا حاجة من المحاضرات؟ تمام. خير إن شاء الله، إن شاء الله بإذن الله نفضل طول الـ term نيجي وكلنا نيجي بإذن الله. طيب، لو سمحتوا الصوت. إحنا بقى الـ term ده إن شاء الله أو الـ مادة اللي هناخدها الـ term ده اللي هي مادة numerical
computing methods. إحنا خلاص بما إننا اتعرفنا قبل كده واتقابلنا قبل كده فـ أصلًا ما قايلين إن السلامات ممنوعة صح؟ واللي بيسلم بيحصل له إيه؟ هو واللي بيسلم عليه الاثنين بيحصل لهم إيه؟ فـ السلامات كانت ممنوعة كده بينا دلوقتي بقت ممنوعة رسمي.
ما حدش يسلم على حد. ما حدش يستلف قلم من حد. ولا يتكلم حد. اتفضل. طيب. ايه ده؟ ده؟ دلوقتي إحنا عندنا المادة بتاعتنا اللي هي الـ numerical computing methods، أول حاجة بالنسبة لـ... لـ الـ material اللي إحنا هـ نستخدمها.
في عندنا الكتاب اللي هو numerical methods for engineers. ااا الـ author بتاعه اللي هو Chapra. وفي عندنا الـ lecture notes اللي هي المحاضرات اللي ممكن تصورها الأجزاء اللي إحنا بـ ناخدها.
وفي عندنا الـ presentation طبعًا الـ اللي إحنا هـ ناخدها في المحاضرة دي هـ تبقى available عندكوا بـ التسجيل كمان. فـ في ميزة بقى إن حضرتك بعد ما تحضر المحاضرة حبيت تراجع على جزئية معينة، في جزئية ما فهمتهاش، فهـ تبقى موجودة متسجلة عندك. اتوزعوا يا شباب لو سمحتوا في المدرج على قد ما تقدروا كده.
...
من غير صوت لو سمحتوا. كده اتوزعتوا؟ يا جماعة على فكرة أنتوا مش هيقفوا خالص. سلموا على بعض بعد المحاضرة.
عندكوا محاضرات تانية النهارده بعد الـ numerical؟ مين؟ عندكوا بعد دي إيه على طول؟ assembly. يا شباب الصوت لو سمحتوا.
طبعًا إحنا متعودين دايمًا أول محاضرة بـ يبقى عليها إقبال جماهيري وبعدين ما بـ أشوفش الناس دي بعد كده طول الـ term. فـ ما بالك بقى في محاضرة وهـ تتسجل و موجودة في البيت، فـ
هـ نشوف Benchات بعد كده. اللي قاعدين ورا لو سمحتوا انتشروا قلتلكم وسعوا خالص. اللي قاعدين ورا خالص.
...
...
...
...
طيب، نبتدي بقى numerical computing methods اللي هي المادة إن شاء الله اللي هناخدها الـ term دوت اللي هي قلنا الـ...
الكتاب الـ numerical methods for engineers وعندنا lecture notes في محاضرات هتلاقيها available مع زمايلك بتوع السنين اللي فاتوا أو available في مكتبة التصوير بتاعة الـ كلية والـ presentation اللي هي هـ نقولها ديت و بـ صوت و  الـ و الـ slides بتاعتها.
معلش أنا شغالة في حاجتين. طيب، إيه هي بقى الـ numerical computing methods أو المادة دي بتتكلم عن إيه؟ إحنا من ساعة ما دخلتوا أنت أو خدتوا math من أول سنة أولى ابتدائي لغاية قبل المحاضرة ديت كانت الطرق اللي بـ تاخدوها لـ حل الـ mathematical problem
بـ نسميها analytical method. يعني إيه analytical method؟ يعني ال طريقة مثلًا عندك معادلة x² - 2x + 1 = 0، دي mathematical problem، مشكلة رياضية. عايز تحلها، فـ إحنا عندنا طريقة لـ حل الـ equation دي، اللي هي في في أسوأ الأحوال يعني لو مش عارفين نعمل لها factorization، هـ نعمل إيه؟
هـ نحل بالـ قانون اللي هو -b موجب أو ناقص الجذر على 2a. الـ حل اللي بـ يطلع ده لما تاخده تعوض بيه في الـ equation الـ ناتج بـ يطلع فعلًا equal 0. فـ الحل اللي أنت جبته ده exact solution. okay؟ عشان كده الطريقة اللي أنت استخدمتها للـ حل هـ اسميها analytical method.
مثلًا لو انا عايزة integrate x من 0 لـ 1. الـ integration بتاع x اللي هو x² على 2 وبعدين أعوض بـ 1 minus لما أعوض بـ 0. الـ حل اللي أنت هـ تطلعه ده فعلًا the area under the curve لـ اللي هي x، الـ خط x. exactly.
فالطريقة اللي انت استخدمتها لحال الانتبريشن دي انالاتيكا مثلا عشان انا حاصلت منها على exact solution فكل الطرق اللي احنا تعلمناها كان دايما عندي مشكلة عندي differential equation وعايزة احلاها ففي عندي شوية قوانين كده او شوية طرق لو differential equation first order هعمل ايه لو second order هعمل ايه لو homogeneous او non homogeneous كل وكان لها حاجة
most الـ معادلات التفاضلية ديت يعني الـ معادلات التفاضلية اللي ليها قواعد وطرق لـ حلها قليلة جدًا. اللي أكتر منها بـ كتير الـ معادلات اللي الـ اللي الشروط اللي فيها أو شروط الطرق لا تنطبق عليها. فـ دي هـ نحلها إزاي؟ ما فيش طريقة
أنتم اتعلمتوها أو موجودة أصلاً لـ حل المعادلات التفاضلية دي. أو الـ integration يعني مثلًا لو أنا عايزة integrate e^x² dx من 0 لـ 1. الـ integration دوت صعب جدًا إن أنا
أو يكاد ما فيش rule  من اللي أنتوا اتعرفتوا عليها تـ integrate الـ function e^x². فعشان كده طالما هي دي كده ما لهاش has no analytical method. يعني إحنا اتعلمنا واخدين course كامل عن الـ integration، صح؟ كل الـ قوانين اللي أنت خدتها ديت قوانين لـ حل الـ مسألة مسألة الـ integration عشان أحصل في النهاية على حل exact
والـ طرق دي بـ أسميها analytical method. طب في مسائل كتير ما ينطبقش عليها ما ينفعش أحلها  by parts ولا partial fraction ولا substitution ولا أي طريقة من اللي موجودة للـ integration، هـ نتعامل معاها إزاي؟ هـ نحلها إزاي؟ فـ كل الـ math اللي أنت اتعلمته قبل كده
الـ طرق اللي أنت خدتها قبل كده لـ معالجة الـ mathematical problem كلها تعتبر analytical method. بداية من النهارده بقى هـ تعرف إن في حاجة اسمها numerical method. الـ numerical method دي أنا بـ أستخدمها إمتى؟  ال numerical method دي انا يستخدمها امتى، يستخدمها لما ميكنش يا إما المسألة ملهاش
حل خالص، يا إما الحل بتاعها طويل جدًا وصعب وهـ ياخد effort و time كتير. فـ لو إحنا جينا نقول بقى الـ numerical ديت أنهي نوع من أنواع الـ math؟ يعني أنتوا خدتوا math 1 integration، و math 2 differential equation، وخدتوا math 3 discrete math، وخدتوا linear algebra وخدتوا math 4، صح؟
الـ numerical أنهي فرع من الـ فروع دي؟ كله. numerical بـ تحل أي mathematical أو فيها شوية طرق، شوية algorithms، شوية techniques، بـ تحل أي problem مش موجود ليها حل analytical. يعني في chapter عن الـ integration ومشاكله.
إنها بـ تعرض شوية طرق إن أنا أقدر أستخدمها لـ حل الـ مشاكل أو الـ problems اللي ما لهاش حلول analytical. في chapter كامل عن الـ differential equation اللي هو برضه إيه الـ طرق وإيه الـ قوانين وإيه الـ rules اللي أقدر أستخدمها علشان أحل الـ مسألة. طبعًا الـ مسألة لو جاية لي
وليها حل analytically وموجود وبـ سهولة أطبقه. خلاص؟ لكن لو ما لهاش، أبدأ بقى أروح للـ numerical. الـ numerical methods. فـ الـ numerical هي كل أنواع الـ math. فيها linear algebra يعني إزاي أحل system of linear equation analytically numericaly أو إزاي أحل system of non-linear equation
خلاص؟ هـ نشوف إحنا دلوقتي الـ content الـ منهج بـ يتكلم عن إيه وإيه الـ مشاكل اللي إحنا هـ نتكلم في حلها، لأن الـ numerical مادة كبيرة جدًا كثيرة، فيها الـ techniques كتير، برضه كل technique وله شروطه. فـ لو أنا دلوقتي اديتك أي problem
وقلت لك حللي الـ problem دي، في عندك كام طريقة لـ حل الـ problem؟ أول حاجة هـ تشوف، يعني مثلًا مدياك equation وبـ قول لك حلها، فـ أول حاجة هـ تشوف الـ equation ديت linear، حلها سهل. يعني x - 2 = 0 تبقى x = 2. second order equation، حلها سهل بالـ قانون أو اعمل لها factorization.
equation. third order برضه ليها طريقة إن أنا بـ try and error يعني بـ أجرب الـ factors بتاعة الـ الحد المطلق وبـ وبـ أقدر أعملها factorization بـ قوس صغير وقوس كبير. طيب، fourth order لو أنا عندي second equation من الدرجة الرابعة، هل في طريقة موجودة أو قانون زي الـ قانون بتاع الـ second order
في طريقة تقول أحل إزاي الـ معادلة اللي من الدرجة الرابعة؟ اللي هي x⁴ ديت؟ ما فيش. مش ما فيش أنتوا ما تعرفوش، هي فعلًا ما فيش. خلاص؟ من الدرجة الرابعة وأنت طالع ما فيش. طب لو أنا عندي معادلة زي مثلًا x
minus sin x = 0. دي تعتبر equation non-linear. صح؟ لو عايز أحلها، هل في طريقة قانون معين يحل الـ equation ديت؟ لا. طب يبقى لو أنا عندي مسألة وأقدر أحلها analytically، باستخدام analytical methods
أحلها على طول. في قانون أو في algorithm معين أحلها وأجيب الـ exact solution. ما كانش، فـ في عندي طريقتين تانيين. في طريقة graphically لو تفتكروا في الـ operations research مش كان في طريقة graphically عشان أقدر أجيب الـ optimal solution لو الـ مسألة عندي فيها 2 variable.
تمام، طب ال وإنا بـ جيب الـ graphical solution، الـ حل اللي بـ أطلعه ده exact ولا approximate؟ ليه approximate؟ يعني مثلًا ممكن يبقى الـ exact solution يعني تقاطع الخطين دول مع بعض الـ نقطة دي x1 بتاعتها 2.431 و x2 4.86
يعني ده ال exact، ده فعلًا لو أنا حليت لو أنا عملت solving للـ two equations دول مع بعض، الـ نقطة الـ intersection دي هي دي. هل الـ رقم ده حضرتك تقدر تطلعه من على ورقة الـ رسم البياني؟ لا. فـ بالتالي الـ graphical method يعتبر بـ يديني approximate solution. graphical method يديني approximate so
lution. طيب الـ numerical method الـ numerical method اللي هي بقى شوية الـ techniques والـ algorithms اللي إحنا هـ نتعلمهم عشان أحل الـ مشاكل اللي أنا مش عارفة أحلها analytically وطبعًا موضوع الـ graphical methods
الـ applications بتاعتها محدودة جدًا. problems قليلة جدًا اللي أقدر أحلها graphically. فـ لو الـ مسألة ما لهاش analytical solution، أروح أدور على الـ numerical. طيب، لو الـ numerical الـ numerical methods ديت هـ تحل لي المسائل، طب ما خلاص ما كنا من الأول ناخد الـ numerical methods ولا لها الـ analytical؟ فكرة في الـ  numerical metho
methods عيبها إيه؟ هي هـ هـ توجد حل للمشكلة بس الـ حل ده مش exact. حلول تقريبية بـ error معين. ودايما في أي problem بـ تحلها و بـ تجيب الـ approximate solution بتاعها بـ يقول لك طبعًا مش مش بـ أقدر أقول لك الـ error بالظبط كام، لأن أنا في كل الأحوال إمتى بـ أبقى عارفة الـ  exact error
إمتى بـ أبقى عارفة إن الـ error اللي أنا عملته كذا؟ لو أنا عارفة الـ exact واللي أنا جبته كام، أقدر أطرحهم وأقول الـ error قد إيه. فـ أنا مش عارفة الـ exact و ولا حد عارفه. فـ إن أنا أحسب الـ error، دايمًا يقول لك الـ error لو أنت حليت بالطريقة دي الـ error مش هـ يزيد عن كذا.
يعني بـ يديك الـ upper bound ليه، هو ده اللي أقدر هو ده اللي بـ يقدر يحسبه، اللي هي الـ worst case. في أسوأ الأحوال، الـ error مش هـ يزيد عن كدا. المهم إن في كل على حسب بقى الـ تطبيق اللي إحنا بـ نستخدمه هـ يقول لي الـ error قد إيه. وفي الغالب الـ error دوت ممكن أنت تتحكم
فيه. يعني أنت عايز error أنت الـ مسألة بتاعتك دي بـ تستخدمها في أنهي تطبيق؟ يعني عايز error 0.0001 ولا 0.1 ولا 0.00001؟ يعني لو أنت بـ تحل معادلة تفاضلية عشان خاطر مثلًا توجه شعاع ليزر عشان يعالج مريض من الـ cancer لـ حرق خلية معينة
فـ في الـ حالة دي أنت عايز error قليل جدًا جدًا جدًا. فـ يبقى الـ error دوت هـ تحطه صغير قوي وتشوف هـ تستخدم أنهي طريقة اللي تحصل بيها على الـ error ده. لكن لو أنت عادي بـ تحسب حركة robot و... ما فيش مشكلة من... يعني الـ error 0.001 ده حلو جدًا، it's okay. حسب الـ تطبيق اللي أنت هـ تستخدم فـ الـ error ده أنت اللي بـ تتحكم.
فيه. بس كل ما طلبت error أقل، كل ما عملت effort أكتر. أو عملت iterations أكتر. أو خطوات أكتر. خلاص؟ يبقى أنت لما أي mathematical problem الل دجي قاعدين ورا خالص، أي mathematical problem يا إما أقدر أحلها analytically، لو ما كانش ليها حل analytical أو حل
الـ حل صعب جدًا، أو طويل، أو هـ ياخد time و effort، يبقى ألجأ لـ الـ numerical methods. فهمنا بقى الـ الـ الـ course numerical ده فايدته إيه؟ عظيمة. طيب ده اللي هو
المفروض إن أنا بلجأ ليه في حالة إن الـ حل impossible أو very difficult أو time consuming. خلاص؟ فساعتها بقى إيه الـ numerical بـ تقترح حلول بـ أو بدائل تانية أو algorithms تانية لـ حل الـ مشكلة. عشان كده الـ numerical analysis أو الـ course بتاعنا اللي هو الـ numerical computing methods دايمًا بـ يسموه إيه؟ mathematics of scientific computing.
الـ... اللي هو يعني الـ اللي بـ يحل الـ حاجات الصعبة. طيب هنا there are many types of problems. في بقى problems كتير تقدر ال numerical which have not exact solutions يعني مثلا اللي احنا قلناها من شوية ايه المشاكل اللي ملهاش حلول analytically زي مثلا
اللي هي polynomial of degree higher than 4. المفروض greater than or equal 4. يعني من أول 4، الدرجة الرابعة أو أكتر دي ما لهاش حلول analytically. حتى لو كانت simple equation زي x = cos(x) أو x - cos(x) أو x - tan أو sin - tan، دي برضه non-linear equation ومش هـ أقدر أجيب ما فيش طريقة أو قانون زي الـ قانون بتاع الـ second order.
أقدر أستخدمه وأجيب الـ roots بتاعتها. الـ integration اللي هي اللي لسه كاتبينها من شوية على الـ tablaux اللي هو الـ integration من a لـ b، e^x² أو sin(x) على x. يعني sin(x) على x ديت كان بـ يدينا ليها حل وإحنا في كلية علوم كان حلها بـ يبقى حوالي 3 ورقات فلوسكاد
هي ليها حل بس difficult. صعبة قوي، هـ ياخد effort و time. وعايزة كمان يعني عايزة knowledge قبل كده. فـ بالتالي لو أنت عايز تجيب الـ integration ده بـ طريقة سهلة هي مجرد rules بـ تعوض فيها، بس الـ area اللي هـ تطلع لك مش الـ area under the curve exactly، مش الـ مساحة، يعني المفروض مثلًا لو أنا عندي لو
لو أنا افترضت إن الـ curve اللي عندي كده، هي دي الـ equation اللي أنا أو الـ curve اللي عايز أجيب الـ area under the curve. فـ ما فيش طريقة عشان نجيب الـ لو الـ area ده أنا عايز أكامل من 1 لـ 5 مثلًا، هي دي الـ exact area.
لو ما فيش طريقة تجيب الـ exact area ديت، فـ الـ numerical بـ تفكر إزاي؟ في كذا طريقة. في طريقة اسمها rectangular method. في طريقة اسمها rectangular method اللي هي بتمسك ال area دي و بتقسمها لشوية rectangles.
وتجيب طبعاً ال area بتاعت الـ rectangle الواحد الـ width في الـ height وتجمع الـ areas دي كلها. فدي طريقة بس هل الـ area اللي هتطلع اللي هي مجموع الـ areas بتاعت الـ rectangles
دي exact area؟ لا، يعني في مساحات هنا ما اتحسبتش، في حاجات اتحسبت زيادة مش شرط إنه قد بعض، بس هتطلع تقريباً approximate solution. في طريقة تانية بتقول، يعني لو نفس الـ function، يعني دي اسمها Thompson rule لإن قسمتها لشويه rectangles. في طريقة تانية بتقول استنى أعمل rectangle واحد
و هنا كده نعمل ثاني واحد. الـ area دي، هل الـ area دي فعلاً الـ area under the curve؟ في error أهو كبير جداً. ففي كل طريقة دي طريقة الـ rectangle، في طريقة اسمها الـ trapezoid بدل ما تقسمها لشويه rectangle هتقسمها لشويه trapezoid اللي هي أشباه المنحرفات
وتجيب الـ area بتاعتهم متجمعة. كل طريقة هتستخدمها ليها rule وهيقول لك الـ error قد إيه. فأنت المفروض بعد مثلاً لو أنت جربت ثلاث أربع طرق وشفت الـ errors بتاعهم اللي هيديك أقل error فدي أفضل طريقة للـ function دي أو أفضل قاعدة أستخدمها للـ function دي. خلاص؟ فدي مثلاً إزاي بتفكر الـ numerical في حالة الـ integration.
لا بدل ما اجيب الـ exact area، ما أنا مش عارفة أجيبه، عشان أجيب الـ exact area لازم يكون في عندي analytical method. في عندي قانون أو قاعدة معينة أستخدمها عشان أجيبه. لا هي بتقترح شوية طرق بقى at least لو مش عارفين نجيب الـ area خالص ممكن نجيب approximate area. طيب لو جينا نشوف بقى هنا
هو انا. الـ numerical methods نوعين. الـ numerical methods نوعين، نوع اسمه direct method
زي هنا مثلا لما قلت لك إن في قانون هعوض فيه هيديني الـ area under the curve. خلاص، القانون ده اللي هو مجموع الـ areas بتاعتها فده rule. في قانون هعوض فيه. في طرق دي اللي هي اسمها الـ direct method إن أنا مش بعمل iterations، لا هي rule معينة
هعوض فيها بتاخد خطوات قليلة. دي بتبقى كويسة للـ small problem، للـ problems الصغيرة. أما بقى الـ iterative method اللي هي يعني مثلاً لو أنا عندي
الـ equation دي لو لو أنا اخترعت الـ equation دي هي x - sin x. فين الـ root بتاعها؟ النقطة دي صح؟ مش هنا عند النقطة دي هي قيمة الـ function دي equal zero، يعني x = sin x؟ فدي الـ root.
هي المشكلة أن انا مش عارفة ال root ده، أنا مش عارفة أجيبه. ففي عندنا chapter كامل بيتكلم عن الـ solution of non-linear equations. المعادلات الغير خطية، نحلها إزاي؟ طبعاً أنا مش برسمها، أنا بس بوضح من على الرسمة، أنا لو عارفة أرسمها كنت رسمتها وطلعت root وخلاص.
تعالى بس أوضح لكم الفكرة يعني إيه iterative method. فالطرق كلها تقريباً تقريباً بتعتمد على إنها خلاص أنا مدياك interval معينة بقول لك إن في root موجود في الـ interval من واحد لأربعة. خلاص؟ بس فين؟ ما نعرفش. تمسك الطريقة تمسك في عندك كذا طريقة، كل طريقة ليها شروط معينة عشان أقدر أستخدمها.
وممكن لما استخدمها ما تكنش يحصل لها divergence مش convergence. فالمفروض في شوية tests بتعملها عشان تقول الطريقة دي صالحة أستخدمها مع الـ function دي ولا لأ. فـ say مثلاً لو أنا استخدمت طريقة زي طريقة الـ fixed point مثلاً. هي بتعتمد على إن بيكون في initial approximation أنت بتختاره randomly جوه الـ interval.
اختار مثلاً 3.9، 1.2، 2 براحتك جوه الـ interval. ده بسميه initial approximation. الطريقة دي بتقول إزاي تجيب الـ B_1؟ من الـ B_0 هحسب B_1 ومن B_1 هحسب B_2، ومن B_2 هحسب B_3 وهكذا. ويفضل يحسب iterations لغاية ما يوصل طبعاً أنت عايز accuracy ثلاثة digits، عايز حل ممكن يبقى الحل exact عندك مثلاً 2.3.
5, 6.2. هل هو عايز الحل الـ exact ولا عايز مثلاً ثلاثة decimal approximation؟ يعني 2.35 أوكي، وبعد كده مثلاً أي حاجة. فالحل اللي أنت هتجيبه ده اللي هو شبه الـ exact تماماً. طب هل إحنا عارفين الـ exact و بنستعبط ورايحين نعمل iteration؟ لأ ده مش معروف.
بس إحنا برضه هنعرف إزاي إن إحنا قربنا للـ exact بثلاثة digits. لما يجي الـ chapter ده هنعرف إزاي. على فكرة انا كل كلامي عن موضوع الـ integration وموضوع الـ solution والكلام ده كله هنشرحه بعد كده كل كل problem في الـ chapter بتاعتها وبالتفصيل بالطرق بتاعتها. أنا بس يهمني النهارده إنك تبقى كده عندك فكرة عامة overall idea كده يعني إيه numerical computing methods، فايدتها إيه.
وهنعمل فيها إيه. خلاص؟ فأنت بدأت بـ initial guess، يعني ممكن يكون واحد بدأ بـ initial guess هنا واحد يكون بدأ هنا صح؟ خلاص؟ المفروض إن أنت بقى بتقعد تجيب iteration لغاية ما توصل للـ accuracy اللي أنت عايزها. عايز ثلاثة digits، أربعة digits، واحد تاني عايز سبعة digits accuracy، خلاص. كل ما هتحلم أكتر كل ما هتبذل effort وتعمل iterations.
خلاص؟ طيب لو ممكن واحد B_0 تبقى هنا والـ B_1 هنا والـ B_2 هنا، هل في أمل إن احنا نوصل للنقطة دي؟ ده كده بيبقى اسمه إن الـ algorithm حصل له divergence. فلازم في حاجات الاول قبل ما أشتغل في الـ algorithm أتأكد إن هو converge ولا لأ. مش هقعد أشتغل وأعمل الـ 20 30 iteration وبعدين أكتشف إن أنا مش هوصل.
"خلاص؟ فدي برضه كل طريقة ليها الـ convergence test بتاعها. لازم أتcheck الأول هل هي هتconverge ولا لأ. في مثلاً algorithm لو كانت اختار الـ B_0 هنا، B_1 هتبقى هنا، B_2 هتبقى هنا. هنا ده بي converge ولا لأ.
الـ converge، أنا المفروض دايماً أدور عليه. طب بي converge ببطء ولا بسرعة؟ بسرعة جداً. يعني ممكن بعد ثلاثة أربعة iterations أوصل للـ exact بالظبط. فعشان كده في حاجة اسمها في كل طريقة برضه الـ rate of convergence. يعني المعدل اللي هيوصل تقريباً بعد كام iteration.
مفيش طريقة بتقولك أنت هتوصل بالظبط بعد كام iteration، لإنك ما أنت مش عارف هتوصل لإيه. لكن تقريباً مش هتزيد عن 20 iteration، مش هتزيد عن 10 iterations. فده chapter كامل بيتكلم عن اللي هو الـ solution of non-linear equation. نوع الطرق كلها بتاعت الـ solution of non-linear equation iterative method.
نوع الطرق كلها بتاعت finding the integration solution، اللي هي للـ problem اللي ملهاش analytical solution، كلها direct methods. فهنمسك هتلاقي كل chapter يا iterative method يا ?direct method. Okay طبعاً لو المسألة اللي عندي iterative يعني فيها iterations لازم يكون في حاجة تقولي أنا هقف امتى.
مش هفضل أشتغل أشتغل كده up to infinity. لإن أنت ممكن تعمل 1000 iteration وما توصلش للـ exact، ما توصلش للرقم اللي لما تعوض بيه في x - sin x يطلع لك zero. خلاص؟ فيعني ما تحلمش أو ما يبقاش هدفك إنك توصل للـ exact. لازم تحدد accuracy معينة، أنا عايز accuracy 3، 4، 5، 6 digits، يعني أياً كان
وبعدين في rules هنقول هنقف امتى. يبقى في حالة الـ iterative method لازم يبقى في idea لازم يكون في criteria معينة تقول لي أنا هـ converge ولا هـ diverge، لو هـ diverge ما ينفعش أشتغل، لو هـ converge يبقى هقف امتى، لما أوصل لـ error قد إيه. طيب based بقى على الكلام اللي احنا كل اللي احنا قلناه قبل كدة ده يعني ايه Numerical Computing Me
Thods. خلاص؟ المنهج بقى بتاعنا. احنا هناخد chapter one هنتكلم اللي هو الـ introduction عن الـ numerical اللي إحنا بنقوله دلوقتي. وواضح في كلامنا إن دايماً في حاجة اسمها exact solution و approximate solution. خلاص؟ الحل الـ exact والحل التقريبي اللي أنا هجيبه أو الطريقة هتجيبه. اللي بيتكلم ورا
ففي هنتكلم عن الـ error in computation. إيه الـ error دوت؟ إيه الـ definition بتاعه؟ أحسبه إزاي؟ وبعدين هنتكلم عن الـ sources of error اللي هي إيه المصادر أو إيه المشاكل اللي ممكن يكون بيسببها استخدام الـ computer.
يعني انت عامل كل حاجة تمام و مدخل data صح وعامل البرنامج صح والـ termination criteria موجودة، بس تحصل مشكلة تلاقي إن الـ computer دخل في infinite loop. خير إيه اللي حصل؟ ليه؟ هيبقى في سبب من الـ computer فيه. فهنتكلم بقى عن الـ finite precision of computer، دول التلاتة sources of error اللي هنتكلم
والـ loss of significance اللي هي error ناتج عن عملية الطرح الـ subtraction. هنشوف بقى إزاي الطرح ممكن يكون بيعمل لي مشكلة وشكلها إيه، وإزاي ممكن أحلها. وثالث نوع اللي هو الـ truncation error. بعد كده إحنا كل ده في chapter one. يعني chapter one كله errors. او بيتكلم عن الـ errors، مش هو اللي
و بعدين اخر حاجة propagation of error. أنتوا عارفين يعني إيه propagation؟ هو انتشار الـ error. اللي هو إزاي أنت ممكن تبتدي بـ error بسيط في بداية الـ problem مش بمزاجك، لكن لو حصل والـ problem ابتدت في وجود error بسيط، إزاي الـ error ده ممكن ينتشر لغاية ما يوصل لـ infinity؟ ممكن يحصل له
حالة ثبات يوصل لقيمة معينة ويثبت، أو ممكن يفضل يقل لغاية ما يبقى zero أو يزيد لغاية ما يبقى infinity. وعلى أساس دوت بحدد أنا هستخدم أنهي طريقة. فده اللي هو الـ propagation of error. طبعاً propagation of error الموضوع كبير قوي، إحنا هناخد منه بس application واحدة اللي هو انتشار الـ error في الـ sequence.
ده كده Chapter One. Chapter Two بقى هيتكلم عن الـ problem دي. اللي هو finding ال roots. اللي باصص وراه، طلعوا ورقة attendance. كل واحد يكتب اسم اسمه.
اللي قاعد يعني اسمه بس. بلاش نكتب اللي قاعدين في البيت. عادي إحنا اللي مقاعدينهم. طيب، أول طريقة في Chapter Two اللي هي طريقة وبعدين، وبعدين.
أول طريقة اللي هي الـ fixed-point iterations، وبعدين هناخد طريقتين اسمهم الـ bracketing methods، الـ bisection والـ false position، وبعدين طريقة بنسميها الـ slope methods، طريقة اسمها Newton وطريقة تانية اسمها secant. يعني هم كده تقريباً total خمس طرق.
تمام؟ طب لو طريقة واحدة من دول بتحل، يعني مثلاً طريقة الـ bisection دي سهلة جداً وظريفة ولطيفة، ليه ما تحلش ما نحلش بيها كل المسائل؟ زي ما قلنا إن في لكل طريقة من دول ليها حاجة اسمها workability condition. يعني المسألة دي لو أنا استخدمت عليها الطريقة دي هتبقى workable ولا لأ.
خلاص؟ ممكن تبقى workable بس مش convergent. فعشان كده لازم أعمل حاجة اسمها convergence test. لو أنا استخدمتها هتطلع workable وهوصل للـ root أو الـ approximation اللي أنا عايزه ولا لأ. ولو استخدمتها وكانت workable و convergent فعندي طريقتين، دي workable و convergent ودي workable و convergent.
أشوف بقى اللي أبص عليه بعد كده إيه؟ الـ rate of convergence. دي هتقرب بعد 3 iterations، دي هتقرب بعد 30 iterations. يبقى مين أحسن؟ أم 3 iterations. يعني دايماً بيبقى في معيار لاختيار الأفضل. خلاص؟ يعني حتى لو هما workable و convergent والاثنين هيوصلوني، برضه مين أحسن؟ مين أفضل؟ اللي هي توصل أسرع، بعد عدد iterations أقل.
فعشان كده في طرق كتير. الخمسة دول ولا يجوا 1/10 من الطرق اللي موجودة في حل الـ non-linear بس دول يعني بيغطوا معظم الـ problems. شغالين يعني، دول أكتر استخداماً. ده كده لو في حد من قدام ما كتبش اسمه، الورقة لما تخلص تطلع قدام يا شباب.
بيحصل ده كتير بيحصل ده كتير. أنا فاتحة عندي على الـ laptop عشان أسجل وحاطة هنا فأنا بدوس اتنين enter. ساعات بنسى. خلاص؟
يعني المفروض الطالب المجتهد بعد ما يسمع المحاضرة يروح البيت بقى يسمعها تاني وخلاص ويقفلها بقى ما يفتحهاش تاني. ساعة الـ section نفس الموضوع يبقى في عندك section live و section offline. ف قدامك وبعدين
هو في إيه؟ نيجي بقى لـ Chapter 3. Chapter 3 هنتكلم عن الـ interpolation. إيه المشكلة دي؟ إحنا
أنتم عشان بعاد عن بعض فاللي بيجي يكلم اللي جنبه لازم صوته يبقى عالي. ما بقاش همس ولا زن. بقى هيصة. الـ interpolation.
ده موضوع مهم قوي. دلوقتي لو أنت عندك image صغيرة، صورة صغيرة، وجيت تعمل لها resizing كبرتها. مش كده المفروض إن عدد الـ pixels اللي فيها زادت؟ هتجيب الـ intensities بتاعته منين؟ لو أنت اديتها color معين، فتبان الصورة كده إنها بقع.
فلازم بتعمل حاجة اسمها interpolation، إنك تقريباً يعني بتمسك الـ pixel تاخد الـ average بتاع الـ color اللي حواليها وتديها الـ intensity، تقريباً يعني. فالـ interpolation ديت الـ problem دي أحد تطبيقاتها، هي ليها طبعاً interpolation تطبيقات كتير قوي. إن أنت بتجمع.
مثلاً بتاخد data من ال satellite عندك x و f(x). مثلاً عند time معين بتقيس الـ temperature، عند 2 يديك الـ temperature عند بعد ساعة بعد اتنين. المهم إن أنت عندك علاقة ما بين الـ time والـ temperature أو الـ time ونسبة ال oxygen أو الـ time ونسبة الرطوبة. Okay؟ فأنت عندك شوية data، الـ data دي measured.
من جهاز معين. الـ data دي حضرتك متأكد إنها exact. Okay؟ يعني عندك كده شوية نقط عند النقطة دي عند واحد و اتنين وتلاتة، الـ data دي أنت قابسها ومتأكد منها. طيب لو جيت قلت
عند 1.5 قيمة الـ temperature قد إيه؟ أو الـ pressure قد إيه؟ هل دي measured؟ هل ينفع أرجع تاني الـ time وأقيسها؟ فممكن يبقى الموضوع time أو حاجة تانية، ممكن قست شوية data في معمل وأنت مسافر. وبعدين لما رجعت وعايز تنشر paper مثلاً، فأنت محتاج data أكتر.
فتزود ال data ازاي؟ هترجع تاني لنفس الجهاز و تقيس؟ احيانا بيبقى الموضوع صعب أو يكاد يكون مستحيل لو له علاقة بال time انك ترجع ال time تاني. فلو أنت عايز عند 1.5 عند 2.4، 2.5 تقيس. فبعمل حاجة اسمها interpolation. إن أنا بحاول أوجد الـ polynomial اللي بتمر بالنقط دي.
Say مثلاً طلعت x^3−2x+1. فبالتالي لو أنت عرفت شكل الـ polynomial فتعوض بأي نقطة عند 1.5 بقى، 2.2، اللي أنت عايزه، وتجيب قيمة الـ function بتاعتها. هل لو كان الـ satellite قاس النقط دي كانوا هيطلعها كده؟ لأ ما هي دي مش الـ exact.
بس أنا مش عارفة أحصل على الـ exact. فدي برضه approximate، وبيقول لك لو أنت استخدمت طريقة كذا، الـ error هيبقى بالكتير كذا. يعني أنت عارف الـ error عندك قد إيه أو بالكتير قد إيه. بس هي دي حتة الـ interpolation إن أنت عندك data exact.
وعايز data measured و exact، يعني مش هقيسها من جهاز بايظ ولا حاجة، الـ data تمام، فعشان كده جبت polynomial تمر بالـ points. لو أنت اتوجدت الـ polynomial دي، إن شاء الله عندك لو عندك 10 نقط تقدر تطلع عليهم 100 نقطة كمان، تعوض زي ما أنت عايز. خلاص؟ فهي دي فكرة الـ interpolation، إن أنت بمعلومية الـ data measured هتجيب data unmeasured.
فده Chapter 3 ده فكرته، دي الـ problem اللي الطرق بتاعت Chapter 3 بتحلها. ففي عندنا مثلاً أول تلات طرق، سوري أول طريقتين Newton و Lagrange اللي هي لو الـ data اللي عندك small data sets، تلات أربع خمس نقط كده وأنت عايز تعمل لهم interpolation، عايز تجيب الـ polynomial اللي بتمر بيهم.
فبنستخدم Newton و Newton أو Lagrange. طب الـ data كبرت؟ بقوا 100 نقطة، 20، 30 نقطة، لأ مش هقدر أستخدم الـ data دي كلها مرة واحدة. فبنستخدم فكرة يعني اسمها الـ piece-wise، إن أنا بقسمها لحتت صغيرة، وأتعامل مع كل حتة لوحدها بـ Newton أو Lagrange. طيب لو الـ piece-wise ديت
الـ piece-wise ديت بحصل منها على polynomial continuous وبتمر بالنقط. بس لو أنت بقى طموحاتك أعلى من كده وعايز continuous وبتمر بالنقط و differentiable يبقى الـ piece-wise لوحدها مش هتنفع، فلازم نستخدم الـ cubic B-spline أو الـ spline عامة. هنشرح ساعتها بقى إيه الفروقات ما بينهم. بس أقصد أقول هنا إن الهدف
إن أنا بقول إن كل إن Newton أو Lagrange ليه مش كافيين؟ لإن دول ليهم لو small data sets. لو الـ data كترت تبقى عايز piece-wise. لو طموحاتك أنت كبرت وعايز مش أنت يعني، problem عايزة differentiable polynomial يبقى الـ piece-wise ما تنفعش يبقى الـ cubic B-spline. ده كده Chapter 3.
Chapter 3 سهل، حلو. الـ B-spline بس اللي بتاخد وقت في الشرح شوية، لكن في النهاية هي شوية rules وبعوض فيها. فـ Chapter 3 حلو. ممكن Chapter 2 إحنا ما جبناش سيرته يعني Chapter 2 لطيف بس ب... حلو يعني، هيعجبكم. هيعجبكم قوي Chapter 2.
Chapter 1 اللي هو بتاع الـ error. ده اللي هو دايماً في آخر كل term يا دكتور هو لازم تجيبي سؤال في Chapter 1؟ يعني هما شايفين أن لإنه في موضوعات كتير، في أسئلة كتير والـ tricks كلها بتيجي في Chapter 1. أما أنت أول ما تبتدي في الـ problems نفسها، اللي هي مثلاً الـ interpolation.
مفيهاش أي يعني هديك data وتعمل لها interpolation باستخدام طريقة معينة. فـ rules معينة هتطبقها وتعوض. سهلة. يعني Chapter 3 المهم إن أنت تذاكر الـ rule وتحفظها وتشوف تطبقها إزاي. عارف الكلام ده بقت سهلة جداً. Chapter 4 ده بقى اللطيف على الإطلاق فعلاً يعني جميل.
وفعلاً حلو وسهل يعني. ده اللي هو بيتكلم عن الـ curve fitting. ده اللي أنتم المفروض ده عارفينه وكنتوا بتعملوه قبل كده. يعني أنتم عملتوا قبل كده الـ curve fitting وبتعملو كتير curve fitting. إن أنت لو أنت في الـ lab. ده كده فكرة Chapter.
لو أنت جيت تقيس شوية data العلاقة مثلاً قانون Ohm، كان علاقة ما بين إيه وإيه؟ الـ R والـ V. المهم كانت العلاقة المفروض بتطلع خط مستقيم، صح؟ المفروض بترسمها في الكراسة العملي بتاعتك إنها خط مستقيم أو هي مثبتة نظرياً إنها المفروض إنها خط مستقيم.
خط مستقيم. يعني إيه خط مستقيم؟ اللي هي y=ax+b. كانت مشكلتك عايز تحسب الـ slope بتاع الخط ده قد إيه؟ اللي هي الـ A والـ B تحسبهم بكام؟ فحضرتك لما جيت تقيس من الجهاز اللي موجود في الـ lab بتاع الـ physics طلعت شوية نقط عاملة كده. اللي هو استحالة تعرف تجيب خط بيمر بشوية النقط.
صح؟ عملتوا إيه بقى؟ رسمتوا خط إيه؟ يوسطن الـ data، صح؟ اللي أنتم عملتوه ده اسمه curve fitting. إن أنت عارف إن العلاقة خط فجبت أحسن خط ي fit الـ data.
مش هيمر بقى بيها لإنها فيها error. بس يعمل fitting ليها، يعني تبقى الـ data يعني كأنه مغناطيس كده بالنسبة للـ data اللي حواليه. فهو ده الـ curve fitting. دي فكرة الـ curve fitting، إن أنت عندك data وعارف إنها noisy مش exact. وعايز برضه بس عارف مسبقاً شكل العلاقة إيه، عارف إن العلاقة خط، إنها Ohm's law عارفة إن العلاقة دي line.
فأنت عارف إن العلاقة خط أو polynomial أو exponential، عارف شكلها إيه. مشكلتك في إن فيها constants ناقصة وعايز تجيبها. فده اللي هو مفهوم الـ curve fitting. بتعامل مع الـ noisy data. طب إيه فايدة إنك تجيب شكل العلاقة؟ يعني أنا لو عرفت إن العلاقة دي 2x+4.
مش بقى أي نقطة أنا ما قستهاش أقدر أروح أعوض في الخط وأجيب قيمتها بكام؟ فهي برضه إن أنا عندي measured data وعايزة أجيب بمعلومية الـ measured data data ما اتقاستش. فبوجد العلاقة بس المشكلة عندي إن الـ data مش exact، فعشان كده بعمل fitting مش بعمل interpolation. ده الفرق ما بين الـ interpolation والـ curve fi.
الـ interpolation أنت دايماً بتـ interpolate بتطلع polynomial. مش بتطلع exponential ولا بتطلع، هو دايماً بيطلع polynomial. وأنت عارف إن الـ data اللي عندك exact فبتشترط على الـ polynomial تمر بالنقط. لكن في الـ curve fitting الـ data noisy data. ده Chapter 4. Chapter 5 بقى لو ربنا أحيانا إن شاء الله خدناه، يعني Chapter 5 دوت ساعات بيتاخد وساعات لأ على حسب الظروف.
اننو خير بس الله يكرمكم. ف Chapter 5 بتكلم على- ده اسهل. و بعدين. Chapter 5 بيتكلم على الـ numerical integration. اتكلمنا عنه كتير إن أنا عندي problems أنا مش عارفة أكاملها بالطرق العادية.
ففي بقى هو بيقدم شوية rules. Chapter 5 ده يعتبر direct method، قواعد أو rules هعوض فيها. ففي عندي الـ rectangular rule والـ midpoint rule والـ trapezoid rule و Simpson's rule، وبعدين composite rectangle و composite trapezoid و composite Simpson، وبعدين إزاي أحسب الـ error لكل طريقة من.
خلاص؟ فالـ chapter دوت may or may not، يعني اللي أكيد إن شاء الله بإذن الله لغاية Chapter 4 ده الـ minimum. خلاص؟ لقينا معانا براح يعني يبقى في Chapter 5. حد عنده سؤال إحنا كده شرحنا المنهج كله، حد عنده أي سؤال في المنهج؟ خلاص؟
يا شباب يا سنة تالتة أنتوا بقيتوا تالتة على فكرة. يعني أنتوا من زمان ما كنتوش يا سنة تانية أصلاً. ها، اللي قاعدين ورا.
لسا مكملين. طيب. نيجي بقى نشرح يعني إيه accuracy ويعني إيه precision. وبعدين الكلمتين دول مهمين قوي إن إحنا نعرفهم، نعرف
الـ accuracy والـ precision. دلوقتي بما إن إحنا دايماً في حاجة عندي اسمها exact solution وحاجة اسمها approximate solution. فـ إيه ده؟
Okay. يعني إيه accuracy؟ الـ accuracy ديت بتقيس، يعني لما أقول لك أنت الـ accuracy اللي هي الدقة، أنت دقيق قوي في شغلك يعني الشغل اللي أنت بتعمله near optimal، قريب من الـ optimal، الحاجه المثالية أو هو مثالي.
فالـ accuracy ده بيقيس مدى تقارب اللي أنت عملته باللي المفروض يتعمل. خلاص؟ لما أجي أقول لك الـ accuracy بتاعتك عالية يعني أنت بتقرب جداً من الـ optimal أو بتقرب جداً من الصح اللي المفروض يتعمل. فهي الـ accuracy بتقيس مدى تقارب الـ computed
الحاجة اللي أنت حاسبها بالـ exact أو اللي هي بال true value. المفروض الحل إيه وأنت طلعته إيه؟ الفرق بينهم يبقى ده الـ accuracy. يعني لو أنا عندي problem معينة ده كان الـ exact solution وحضرتك استخدمت algorithm وجاب لك الـحلو
و algorithm تاني جاب لك الحلول دي. ده كده الحل الأولاني
و دي الحل التاني. مين في دول؟ يعني لو أنا قلت لك إن الـ algorithm الأولاني جاب لي الـ solutions ديت أو الـ iterations ديت والـ algorithm التاني جاب لي الـ solutions دي. مين فيهم more accurate؟ S1​. ليه؟ لإن هو الأقرب إلى الـ exact.
تمام؟ يبقى ده كده اللي هو high accuracy. طيب يعني إيه precision؟ الـ precision بقى بتقيس مدى تقارب الحلول اللي أنت بتجيبها ببعضها. يعني أنت عمال تجيب في iterations. الـ iterations دي ممكن تبقى قريبة من بعضها بس بعيدة عن الـ exact. الـ precision ما لهاش دعوة، هي مركزة في الـ solutions اللي أنت بتجيبها، مدى تقاربها من بعضها.
يعني لو أنا سألتك مين S1 ولا S2 high precision؟ S2. S2 الحلول بتاعتها قريبة من بعضها، لكن S1 الـ solutions بعيدة عن بعضها. فـ S1 تعتبر high accuracy but low precision. S2 طبعاً low accuracy بس high precision. الأفضل الأفضل الأفضل خالص إن تبقى high accuracy high precision.
يعني الحلول قريبة من بعضها وقريبة من الـ exact وبتقرب من الـ exact. فده الفرق ما بين الـ accuracy والـ precision ده ممكن يجيلك تعريف في الـ choose في الـ multiple choice. يعني أديك definition وأقول لك ده accuracy ولا precision ولا أي حاجة تانية. خلاص؟ يعني أنا مش باجي أقول لك سمّع حاجة، لكن ممكن أكتب لك الـ definition وأقول لك ده تختار هو ايه
طيب. نيجي بقى how can we define the error in computation؟ إزاي لو أنا عندي problem والـ problem ديت كان الـ exact solution بتاعها A.
والـ approximate solution Ahat؟ يعني لو أنت عارف إن الـ exact A والـ approximate solution Ahat. هو مين اللي بيقلب؟هو انا؟ هو بيقلب لوحده؟ يعني انا انا عملت cli
تمام؟ خلاص؟ تمام. احنا هنشوف أيام جميلة بصراحة. طيب. لو أنا عندي problem الـ exact solution بتاعها A والـ approximate solution Ahat​. إزاي أحسب الـ error أو إيه هي ال معايير قياس الـ error؟ فيجي عندي حاجة اسمها الـ
في حاجة اسمها الـ exact error أو الـ true error. يا true يا exact. ده ببساطة جداً بطرح الاتنين minus بعض: A−Ahat​. في الحالة دي ممكن يطلع positive، ممكن يطلع negative. ممكن يطلع الـ error ده بالزيادة أو بالنقصان. ده اسمه الـ exact error.
ال absolute error هي المفروض خط أكبر بس absolute error هي أحياناً أنت مش مهم عندك الـ error ده بالزيادة ولا بالنقصان، المهم عندك هو قد إيه. يعني مش مهم هو −0.001 ولا +0.001. المهم إن هو 0.001. فده الـ absolute error، إن هو بياخد الـ absolute value للـ exact error.
الـ relative error بقى وده اللي هو الأكثر واقعية في القياس. عارفين الـ relative error اللي هو الـ error النسبي. لو أنا عندي problem معينة لو أنت استخدمت
يعني أنا عندي problem بحلها وطلعت error 0.1 لوحده. أنا هنا. طب ليه؟ هو ايه اللي error؟ هو ايه اللي error؟ كل ده error.
وأنا المفروض في العادي أنا ما بحبش أستخدم أنتم عارفين presentation بس مجبر أخاك لا بطل. يعني أنا قعدت أعمل في دي إمبارح بالليل عشان خاطر فوجئت إن إحنا المفروض نعملها مفيش لسه الـ tablet ما تجابتش. فأنا المفروض بحب حكاية إن أنا أكتب على الـ board ونمسح والكلام ده.
لكن مفيش مشكلة. خليها عشان نشرحها مرة واحدة وبقية الدفعات بقى ياخدوها مسجلة وخلاص. وأقعد أنا بقى أونلاين. لو أنت عندك problem حليتها وكانت الـ error بتاعها 0.0001 وزميلك
بيحل الـ problem وطلع error 0.0001. فيقول لك ده أنا مطلع نفس الـ accuracy بتاتعك. هل ده كان absolute error؟ وهنا برضه هحسب الـ absolute error. هل أقدر أحكم على إن الـ algorithm ده حلو أو وحش ب
بمجرد حساب الـ absolute error. ممكن يكون، لو أنا في الـ problem دي، الـ exact value بتاعتي مليون. فأنت عملت error 0.0001 بالنسبة لمليون، ده يعتبر error صغير ولا كبير؟
صغير جداً، جداً جداً. هنا في الـ problem دي كان الـ exact 0.1 وأنت عملت error 0.0001. هل الرقم ده بالنسبة للرقم ده صغير ولا كبير؟ كبير. ده error ضخم جداً. فبالتالي الـ relative error دايماً بتبقى هي الأكثر واقعية. زي لو أنت ماشي مثلاً ومعاك 1000 جنيه.
مثلاً. محدش معاه دلوقتي 1000 جنيه. وقع منك 5 جنيه، هتفرق؟ خالص ولا هتفرق؟ خلينا نقول لو مليون. مليون إلا جنيه، يفرق؟ الجنيه ده بالنسبة للمليون رقم صغير جداً جداً جداً. لكن لو أنت معاك 10 جنيه ووقع جنيه.
ده يعتبر ده كبس. صح؟ فهي دي الفكرة، إن أنت relative. أنت وقع منك قد إيه بالنسبة للي معاك قد إيه. عشان كده الـ relative error زي ما إحنا شايفين كده، اللي هي عبارة عن الـ absolute error على الـ exact. أنت عملت error قد إيه بالنسبة للـ exact value قد إيه.
عشان كده سموه relative error، نسبي. يعني أنت مثلاً في الدفعة دي أنت جبت مقبول. بس فرحان بيها جداً. ليه؟ لإن كل زمايلك ما نجحوش، مثلاً يعني مش أنت يعني. فأنت نسبة للآخرين أنت أحسن من الامتياز بس الدفعة كلها جابت امتياز.
طيب ده كده الـ relative error. بس طبعاً في كده ملحوظة تحت. و بعدين. الـ relative error طبعاً هو in general true error ده الـ absolute error، بس أنا مش هقدر أستخدمه لو كانت الـ exact value zero. مش هقدر أقسم على zero، هيبقى ساعتها undefined.
الـ percentage error بقى ده اللي هو النسبة قد إيه. إن أنا باخد الـ relative error وأضربه في 100% وأحسب الـ percentage error، اللي هو الـ error النسبي. ده example.
اللي هو إزاي نقدر نحسب الـ exact error؟ يعني example على مدياك A و Ahat​ وعايزاك تحسب... مستعجلين قوي صح؟
يعني إحنا لو سبناها كان زماننا مخلصين على طول آه عايزين نحسب بقى الـ exact error والـ relative error والـ absolute error والـ ?percentage error. Okay ده example بسيط قوي. لو أنا عندي 1/3.
فعارفين الـ 1/3 لما تيجي تكتبها على الـ calculator بيطلع لك إيه؟ 0.333 لغاية ما الشاشة تخلص. ولو كبرت الـ calculator شوية تبقى 0.333 لغاية ما الشاشة تخلص. لإن المفروض إن الـ exact value للـ 1/3 كام؟ 0.333 up to infinity اللي هي بيعملوها كده.
الـ 1/3 اللي هي 0.33 وبعدين آخر 3 محطوط عليها بار دي يعني periodic، تقعد تكرر نفسها. ده المفروض الـ exact بتاع 1/3. خلاص؟ جيت حضرتك بدل ما تستخدم 1/3 استخدمت 0.333، تلات تلاتات بس. يبقى أنت كده ده المفروض دي الـ exact value ولا approximate value؟
حلو. هو بيقول لك لو الـ exact 1/3 اللي هو 0.3 لغاية ما لا نهاية وأنت استخدمت approximation 0.333، عايز بقى أحسب الـ absolute error اللي أنا عملته ده قد إيه والـ percentage والـ relative والـ exact. فإحنا هنا الـ 1/3، السطر الأولاني ده اللي هو A=1/3=0.33... مين اللي قال إن الـ 1/3 هي 0.33... لغاية ما لا نهاية؟ ليه مش 100 واحدة بس ولا 5 بس؟
ستة بس. دي just بس إيه ليك أنت عشان تقتنع لإن هم قالوا لنا كده في المدرسة إن الـ 1/3 0.33 لغاية ما لا نهاية. بس ما قالناش ليه. دي ليه؟ لإن 0.33 دي up to infinity عبارة عن 3×10^−1+3×10^−2 وهكذا لغاية ما لا نهاية.
الـ series اللي عندنا دي عبارة عن إيه؟ geometric series؟ صح؟ لإن هي عمالة تزيد أو تقل بمقدار معين اللي هو قد إيه؟ كل مرة بتضرب في كام فيديك الـ term اللي بعده؟ 10^-1, 10 to the power -1.
يعني أول term 3, 3 في 10^−1. تاني term لما أضربه في 10^−1 فيديني 3×10^−2 وهكذا. ففي بيزيد بـ pattern ثابتة أو بيقل بـ pattern ثابتة. الـ geometric series اللي هي up to infinity، الـ summation بتاعها بيساوي إيه؟ ده خدتوه في
Math one. اخدتوها عامة في الثانوية العامة في الإعدادية. مجموع الـ geometric series كان في عندنا حاجة اسمها finite geometric series وحاجة اسمها infinite geometric series. دي تعتبر infinite. مجموعها إيه؟ اللي هو A/(1−r). A اللي هو الـ first term.
الحد الأول اللي هو 3×10^−1. والـ r الـ base، اللي هو كل term اضرب في كام عشان يدينا اللي بعده؟ 10^−1. فيبقى عندي A بتساوي... اهي. يبقى A بتساوي الـ first term اللي هو 3×10^−1 على 1 minus الـ base اللي هو 10^−1.
أضرب بقى الرقم فوق وتحت في 10. فيدينا فوق 3 ويدينا تحت 10 ناقص 1. تبقى 3/9 اللي هي 1/3. يبقى إحنا كده أثبتنا فعلاً إن الـ 1/3 هي 0.333 up to infinity مش 10 بس ولا 20. خلاص؟ ده كده.
لسه إحنا ما حسبناش لا exact error ولا approximate error ولا حاجة. إحنا بس بنقول إن فعلاً الـ 1/3. عايزين نحسب بقى ال True Error أو ال Exact Error. انا كتباها TE اللي هو ال True Error. ف لو احنا خدنا
إحنا خدنا تلات تلاتات بس، صح؟ يبقى الـ error يبقى يبقى اللي اتلغى الأول إيه؟ الـ 3 رقم كام؟ أربعة. اللي هي
اللي هي 3×10^−4+3×10^−5 لغاية ما لا نهاية، ده الجزء اللي اتلغى. ده اللي هو أحسبه إزاي الكمية دي قد إيه؟ اللي هي A على، على فكرة موضوع الـ geometric مجموع الـ geometric series ده هناخده بعد كده كمان في chapter 1، يعني في مسألة هنحتاج فيها الجزء ده.
فأنت احفظها بقى إن الـ geometric series اللي هي الـ infinite A/(1−r) وبعد شوية هنقول إيه هو الـ finite. تمام؟ فده كده اللي هو الـ true error من أول الـ 3 الرابعة اللي هي 3×10^−4+… لغاية ما لا نهاية. اللي هي الـ summation بتاعها A/(1−r).
فالـ first term من هنا 3×10^−4 على 1 minus الـ r. برضه لما بتضرب فوق وتحت في 10 فيدينا 3×10^−3 على 10^−1. 10^−1 بـ 9 يبقى 3/9×10^−3. يبقى ده الـ true error.
1/3×10^−3. والـ absolute error يبقى إيه؟ الـ absolute error اللي هو الـ absolute value للـ true error. فهي already طالعة positive، فالـ absolute زي الـ true بالظبط.
انا بقول يا شباب أنا بقول أنا هقول إيه ما قلتش أنا مش هقول إيه. هقول إيه عشان نمشي. أنتوا خدتوا المقطع التاني وسبتوا المقطع الأولاني؟ خلاص عشان نخلص. كله كتب اسمه في الـ attendance ولا لسه في حد؟
الورقة، هاتها ورا. في حد ورا ما كتبش اسمه؟ طب وديها للبشمهندس الأول. اه.
الـ sources of error بقى إيه هي اللي بيتكلم برضه، يعني أنتوا التلاتة قاعدين جنب بعض قوي. يعني قاعدة عامة كده عشان عشان إحنا الترم مطول معانا فمش هنتقابل النهارده، Corona النهارده وماشية. قاعدة معانا شوية.
فرجاءً يا جماعة عشان ما يجيش حد يعني عشان مصلحتكم. فـ أنتوا يعني اقعدوا انتشروا. في أماكن كتير أهو، ما إحنا مقسمينكم نصين ليه؟ بس. طيب. والمفروض كمان حضرتك تبقى قاعد لابس الكمامة.
ما أنا مش هينفع ألبسها عشان أنا بتكلم، أنت قاعد بتسمع وودنك شغالة. فطبعاً هم قالوا لكم تعليمات معينة، يعني لو أنت حسيت بأي ما بتجيش برد بأي حاجة متجيش. إحنا هنودي لحضرتك هنوصل لك المحاضرة.
إن شاء الله بإذن الله ما حدش يحصل له أي حاجة. شباب. الـ sources of error. أول حد أول حاجة ممكن تسبب مشكلة، يعني تلاقي الناتج اللي طلع لك في حل الـ problem في النهاية غير اللي المفروض
ليه؟ أول source of error هو الـ human error. إن أنت تكون دخلت data غلط أو إن أنت تكون نسيت تكتب الـ termination criteria اللي ورا. عملت حاجة في الـ program.
أو في الـ entering data. إحنا هنفترض إن مفيش حاجة اسمها human error. تمام؟ إن كل حاجة الـ user عملها تمام. عايز أعرف بقى إيه المشاكل اللي ممكن يسببها استخدام الـ calculator أو الـ computer؟ فأول مشكلة
اللي هي الـ round-off error أو يعني اسمه حاجتين يا round-off يا finite precision of computer. اللي هو دي دي problem دي مشكلة معروفة قوي. الـ memory اللي عندك في الـ computer finite ولا infinite؟ تمام. يعني دايماً بيبقى في عدد bits معينة لأي رقم حضرتك هتدخله، صح؟
طب لو الرقم اللي أنت عايز تخزنه ده، لما تيجي تحوله لـ binary زي مثلاً 1/10، الـ 1/10 الـ binary بتاعها 0.000110011 لغاية ما لا نهاية. الـ pattern دي اللي هي صفرين وواحدين بتتكرر ل ما لا نهاية.
يبقى الـ 1/10 لما تيجي تحولها لـ binary بتطلع عدد لا نهائي من الـ bits. هل الـ computer يقدر يخزن عدد لا نهائي من الـ bits؟ فاكيد هياخد عدد معين أياً كان هو 16، 4، أياً كان 64، 128 ال multiples بتاعتها أياً كان لازم هيعمل error.
يبقى لو العدد اللي أنت عايز تخزنه كان الـ binary بتاعه عدد bits أكتر من الـ available يبقى أكيد هيحصل error. ده اللي هو بنسميه الـ finite precision of computer. ده اللي هو الـ round-off error أو الـ finite precision of computer. فالأعداد اللي عندنا زي الـ π والـ e والـ square root of 7 اللي هي الـ irrational numbers كلها.
والـ 1/3 والـ 1/10 والـ 1/5 والـ 1/6 كل ديت الـ binary بتاعها بعدد لا نهائي من الـ bits. فاكيد لما أجي أكتبها، أخزنها على الـ computer أنا هكتب حاجة وهو لما يحول لـ binary ويعمل normalization هيخزن حاجة تانية. آه هو بيعمل error صغير جداً جداً بس الـ error دوت ممكن على error تاني هيضرب في حاجة فيها error يتقسم على حاجة فيها error تلاقي في النهاية جمع لك error كبير.
طلع لك رقم ما كانش متوقع إنه يطلع. Okay؟ فده اللي هو الـ finite precision. دي دي هنقعد فيها دي هنتكلم عنها بالتفصيل وناخد examples عليها وإزاي الـ computer بيخزن الأعداد وإزاي نحسب الـ error دوت وإزاي لأي computer أو لأي مواصفات أقدر أحسب أكبر عدد وأقل عدد وعدد الأعداد والـ error بتاعتها.
هنقعد فيها شوية. شوية من المحاضرة الجاية يعني مش شوية كذا محاضرة. تاني source of error هو هنا أنا هنا بدأ يشرح إزاي بيخزن الأعداد الـ integer وبعدين إزاي...
وبعدين إزاي بيخزن الـ floating point number. إزاي عشان أقدر أحسب بقى هو بيخزنها إزاي ويعمل normalization عشان أقدر أحسب الـ error. ده example، ده هنشرحه بالتفصيل المرة الجاية إن شاء الله. بس إحنا كده قلنا أول source اللي هو الـ round-off error.
تاني source of e