You are on page 1of 231

‫التحليالت العددية بإستخدام برنامج‬

‫‪Mathcad‬‬

‫د‪.‬عباس خماس الساعدي‬

‫الجامعة التكنولوجية‬
‫قسم ھندسة المواد‬

‫بسم ﷲ الرحمن الرحيم‬

‫‪1‬‬
‫رب زدني علما ً((‬
‫))و قل ّ‬
‫))صدق ﷲ العظيم((‬
‫اآلية ‪114‬‬
‫سورة طه‬

‫اإلھداء‬
‫الى زوجتي الحبيبة ‪............‬‬
‫الى ولدي العزيز ‪......‬أحمد‬

‫‪2‬‬
‫المحتويات‬
‫رقم الصفحة‬ ‫الموضوع‬
‫‪5‬‬ ‫مقدمة‬
‫‪8-30‬‬ ‫الفصل األول‪ -‬مقدمة حول برنامج ماث كاد‬
‫‪32-86‬‬ ‫الفصل الثاني‪-‬المصفوفات‬
‫‪88-100‬‬ ‫الفصل الثالث‪ -‬حل المعادالت الخطية اآلنية‬
‫‪102-122‬‬ ‫الفصل الرابع‪ -‬حل المعادالت الالخطية‬
‫‪124-138‬‬ ‫الفصل الخامس‪-‬اإلستكمال‬
‫‪140-162‬‬ ‫الفصل السادس‪-‬تطابق المنحنيات‬
‫‪164-184‬‬ ‫الفصل السابع‪-‬التكامل العددي‬
‫‪186-197‬‬ ‫الفصل الثامن‪-‬التفاضل العددي‬
‫الفصل التاسع‪-‬حلول المعادالت التفاضلية اإلعتيادية ‪199-219‬‬
‫‪221-258‬‬ ‫الفصل العاشر‪-‬تطبيقات ھندسية‬
‫‪259‬‬ ‫الملحق)‪(A‬‬
‫‪260‬‬ ‫المصادر‬

‫‪3‬‬
‫مقدمة‬
‫ربّ العالمين و الصالة و السالم على سيد العلماء و سيد األولين و اآلخرين‬ ‫الحمد‬
‫رسول ربّ العالمين و على آله و صحبه المنتجبين ‪ .‬أما بعد‪ ،‬بينما يتميز الحل التحليلي‬
‫‪ Analytical Solution‬بالدقة ‪ Exact‬إن وجد فإن الحل العددي ‪Numerical‬‬
‫‪ Solution‬من ناحية أخرى يتطلب في أغلب األحيان عدة تكرارات للوصول الى‬
‫النتيجة التي تكون تقريبية و اليمكن إعتبارھا دقيقة ‪ Exact‬في أي حال من األحوال ‪.‬‬
‫بصورة عامة‪ ،‬يمكن تطبيق الحل التحليلي على حاالت خاصة جداً من المسائل بخالف‬
‫الحلول العددية التي يمكن إستخدامھا في حل العديد من المسائل المعقدة ‪ .‬أضف الى‬
‫ذلك‪ ،‬سھولة تطبيق البرامج الحاسوبية على الطرق العددية ‪ .‬و بالنظر لكون الحلول‬
‫التحليلية للمسائل في أغلب التطبيقات الھندسية و العلمية يعتبر أمراً مستحيالً‪ ،‬فإن‬
‫إستخدام الحلول العددية بمساعدة الحاسوب قد سھّل من حل العديد من المسائل العملية ‪.‬‬
‫إن التطور في تكنولوجيا الحاسوب قد جعل إستخدام الطرق العددية أمراً في غاية‬
‫السھولة ‪ .‬حيث يمكن أن نحصل على الحلول بشكل أسرع من قبل و بنتائج جيدة ‪ .‬من‬
‫ھنا‪ ،‬جاءت فكرة إعداد ھذا الكتاب أي إستخدام الطرق العددية باإلعتماد على تكنولوجيا‬
‫الحاسوب و ھنا تم إستخدام برنامج ‪) Mathcad‬اإلصدار ‪Mathcad2001-‬‬
‫‪ . ( Professional‬حيث يتميز ھذا البرنامج بالسرعة و السھولة في آن واحد من‬
‫حيث التعامل مع العمليات الحسابية و الرسومات البيانية و الحصول على النتائج ‪.‬‬
‫يقدم ھذا الكتاب عشرة فصول‪ ،‬تم التطرق فيھا الى أغلب الطرق العددية ‪ .‬يتناول‬
‫الفصل األول‪ ،‬مقدمة موجزة حول برنامج ‪ . Mathcad‬في الفصل الثاني‪ ،‬تم التطرق‬

‫‪4‬‬
‫الى المصفوفات بإستخدام ‪ Mathcad‬بشيء من التفصيل ‪ .‬بينما يناقش الفصل الثالث‬
‫حل المعادالت الجبرية اآلنية الخطية ‪ ،‬في حين تم التطرق الى حلول المعادالت‬
‫الالخطية في الفصل الرابع ‪ .‬أما في الفصل الخامس فقد تم مناقشة اإلستكمال لغرض‬
‫التنبأ بالقيم المجھولة في مجموعة البيانات ‪ .‬بعد ذلك تم مناقشة تطابق المنحنيات في‬
‫الفصل السادس ‪ .‬في الفصل السابع تم التطرق التكامل العددي و من ثم تطرقنا الى‬
‫التفاضل العددي في الفصل الثامن يلي ذلك‪ ،‬دراسة الحلول العددية للمعادالت التفاضلية‬
‫في الفصل التاسع ‪ .‬اما في الفصل العاشر فقد تم مناقشة بعض التطبيقات الھندسية التي‬
‫تتطلب إستخدام الحلول العددية‪ ،‬يلي ذلك ملحق حول حساب األخطاء العددية ‪ .‬أخيراً‪،‬‬
‫أتمنى أن أكون قد وفقت في ذلك و ما التوفيق إال من عند ﷲ و أن يحقق ھذا الكتاب‬
‫ربّ العالمين ‪.‬‬ ‫الفائدة المرجوة و الحمد‬

‫د‪.‬عباس خماس حسين الساعدي‬


‫‪2-8-2009‬‬
‫األحد‬

‫‪5‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫لوحة عمل برنامج ‪The Mathcad Worksheet Mathcad‬‬


‫إن برنامج ‪ Mathcad‬عبارة عن تطبيق برمجي يتعامل مع الحسابات العددية‪،‬‬
‫المعادالت‪ ،‬الرسومات البيانية‪ ،‬و النصوص‪ .‬إن المعادالت التي نقوم بطباعتھا في‬
‫برنامج ‪ Mathcad‬تبدو على الشاشة باسلوب مشابه لتلك المعادالت التي نطبعھا أو‬
‫نراھا في الكتب ‪ .‬و بإمكاننا تنفيذ مجموعة من الحسابات و المعالجات الرياضية على‬
‫المعادالت و التعابير الرياضية التي نقوم بطباعتھا ‪ .‬و يمكننا بعد ذلك كتابة النصوص‬
‫و من ثم العودة الى الحسابات و بالعكس كما نرغب ‪ .‬من ھنا‪ ،‬يمكن القول أن صفحة‬
‫الطباعة في برنامج ‪ Mathcad‬تبدو بشكل تقرير نھائي ‪ . Finished Report‬و‬
‫يمكننا حفظ ھذا التقرير بشكل ملف ‪ Mathcad‬ينتھي باالمتداد ‪ mcd‬أو بشكل ملف‬
‫نص ينتھي باالمتداد ‪ . rtf‬و من ثم يمكننا فتح الملف في برنامج معالجة النصوص‬
‫‪ Microsoft Word‬حيث تتوفر عوامل التحرير مثل ‪...... Cut, Paste‬الخ ‪.‬‬
‫إن لوحة عمل برنامج ‪ Mathcad‬تبدو كمافي الشكل المبين في أدناه بعد فتح برنامج‬
‫‪ . Mathcad‬حيث نالحظ ظھور جميع أشرطة األدوات و عند عدم ظھورھا يمكن‬
‫إظھارھا من خالل قائمة عرض ‪ View‬و من ثم نختار أشرطة األدوات ‪Toolbars‬‬
‫و بعد ذلك تظھر قائمة فرعية نختار منھا ما نريد من األدوات ‪.‬‬

‫‪8‬‬
‫الفصل األول‬

‫‪9‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫في أعلى النافذة نالحظ شريط القوائم و تحته مباشرة نالحظ شريط األدوات القياسي و‬
‫تحت ھذا الشريط يوجد شريط أدوات التنسيق ‪ . Formatting Toolbars‬إن‬
‫العديد من األيقونات الموجودة في ھذھاألشرطة تكون عادة مألوفة لدى العديد من‬
‫مستخدمي تطبيقات برامج ‪ . Windows‬بعد فتح برنامج ‪ Mathcad‬نالحظ ظھور‬

‫عالمة الصليب الحمراء )‪ (+‬في لوحة العمل ‪ .‬و عند البدء بالكتابة عندما يكون مؤشر‬
‫عالمة الصليب الحمراء بارزاً ‪ Red Cross Pointer‬فإن البرنامج يتوقع منا إدخال‬
‫الحسابات العددية ‪ .‬و عندما نقوم بإدخال الرقم أو الحرف فإن عالمة الصليب الحمراء‬
‫تختفي و يحاط الرقم أو الحرف بصندوق مغلق ‪ .‬على سبيل المثال‪ ،‬عند إدخال الرقم ‪3‬‬
‫‪ ،‬فإن عالمة الصليب الحمراء تختفي و بدالً من ذلك يظھر الرقم ‪ 3‬محاطا ً بالصندوق‬
‫المغلق‪:‬‬

‫اآلن عندما نقوم بإدخال =‪ 3/7‬فإن النتيجة تكون‪:‬‬

‫إن النقر خارج منطقة الحساب ‪ Math Region‬المعرّفة بواسطة الصندوق المغلق‬
‫يؤدي الى إعادة ظھور عالمة الصليب الحمراء و إختفاء الصندوق المغلق و مكان‬
‫)مجال( الكتابة ‪ . (J) Placeholder‬و يمكن أيضا ً إدخال النص عندما تكون عالمة‬
‫الصليب الحمراء بارزة و يتم ذلك من خالل قائمة إدراج ‪ Insert‬و من ثم النقر على‬
‫منطقة النص ‪ Text Region‬أو الضغط على مفتاح عالمة اإلقتباس )"(‬

‫‪10‬‬
‫الفصل األول‬

‫‪ ، Quotation‬و بعد ذلك تظھر تظھر منطقة نص صغيرة محاطة بصصندوق مغلق‬
‫‪ .‬و عند الطباعة في داخل ھذا النص فإن الطباعة تكون في الحالة اإلفتراضية بخط‬
‫‪: 10 Arial‬‬

‫إن النقر خارج منطقة النص يؤدي الى إختفاء صندوق النص و معاودة ظھور عالمة‬
‫الصليب الحمراء‪.‬‬

‫المؤشر و الحسابات ‪Cursor and Calculations‬‬


‫كما ذكرنا لغرض إدخال النص‪ ،‬نحتاج في البداية الى الضغط على المفتاح )"( و ھذا‬
‫بدوره يؤدي بدوره الى تغيير عالمة الصليب الحمراء بحيث تظھر بشكل مؤشر نص‬
‫ذات خط عمودي أحمر كما موضح في أعاله ‪ .‬أما بالنسبة للحسابات الرياضية ‪ ،‬فيتم‬
‫إدخالھا بواسطة النقر خارج منطقة النص و ھذا يؤدي الى إستعادة ظھور عالمة‬
‫الصليب و بالتالي يمكن كتابة المعادالت أو إجراء الحسابات الرياضية ‪ ،‬من ھنا ‪،‬‬
‫يمكن كتابة النصوص في أي مكان نرغب في لوحة العمل و التغيير مابين منطقة‬
‫النص و منطقة الحساب كما نرغب ‪.‬‬

‫تحديد قيمة للمتغير ‪Assigning a Value to a Variable‬‬


‫ننقر في أي مكان في لوحة العمل بحيث يظھر مؤشر الحساب )عالمة الصليب‬
‫الحمراء( ‪ .‬لغرض تحديد القيمة ‪ 3‬على سبيل المثال للمتغير الذي إسمه ‪ Width‬نطبع‬
‫‪ Width:3‬و عندما تطبع عالمة الوقف )‪ (:‬فإن برنامج ‪ Mathcad‬يضيف عالمة‬

‫‪11‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫المساواة )=( بشكل أوتوماتي و ذلك للحصول على عامل التخصيص أو التعيين‬
‫‪ (:=) Assignment Operator‬و ھي عبارة عن عالمة الوقف و عالمة المساواة‬
‫معا ً و تظھر الشاشة بالشكل التالي‪:‬‬

‫نكرر ما سبق إلضافة الجملة التالية‪:‬‬

‫و من ثم نطبع ‪ Area: Width*Height‬حيث نالحظ أن برنامج ‪ Mathcad‬يحول‬


‫عالمة الضرب )*( ‪ Multiplication Operator‬الى نقطة بشكل أوتوماتي‪:‬‬

‫إن الجانب األيمن من المعادلة له قيمة قد تم تحديدھا الى المتغير الذي إسمه ‪ . Area‬و‬

‫لمالحظة نتيجة المتغير )قيمته( نطبع إسم المتغير متبوعا ً بعالمة المساواة‪:‬‬
‫من الجدير بالذكر بأن برنامج ‪ Mathcad‬يميز مابين الحروف الصغيرة و الكبيرة‬
‫فعند طباعة ‪ area‬بدالً من ‪ Area‬تظھر الرسالة التالية‪:‬‬

‫‪12‬‬
‫الفصل األول‬

‫أي أن ھذا المتغير غير معرّ ف في أعاله ‪ .‬إن برنامج ‪ Mathcad‬يستخدم الرموز‬
‫المألوفة في عمليات الجمع )‪ ،(+‬الطرح )‪ ،(-‬الضرب )*( و القسمة )‪ . ( /‬و يحول‬
‫بشكل أوتوماتي العالمة )* ( الى نقطة )‪ (.‬كما الحظنا في أعاله كما أنه يغير العالمة‬
‫)‪ ( /‬كما سنرى في الفقرات الالحقة ‪.‬‬

‫‪The Mathcad Editing Lines‬‬ ‫خطوط تحرير ‪Mathcad‬‬


‫عندما نطبع الجملة التالية‪ Ratio1:Area/Height+5 :‬نشاھد خطوط التحرير‬
‫عندما ندخل كل جزء من الجملة ‪ .‬إن خطوط التحرير الزرقاء تمثل خطوط التحرير‬
‫اإلفقية و خطوط اإلدراج العمودية ‪ .‬حيث تتغير خطوط التحرير عندما نستمر بعملية‬
‫اإلدخال‪:‬‬

‫عند كتابة ‪ Height‬بشكل ‪ Heifht‬نضع نقطة اإلدراج مابين ‪ f‬و ‪ h‬و من ثم ننقر‬
‫بالزر األيسر‪ ،‬و نالحظ أن خط التحرير األزرق يحيط بالكلمة و خط اإلدراج يظھر‬

‫‪13‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫مابين الحروف ‪ f‬و ‪ . h‬إن المفاتيح ‪ Backspace‬و ‪ Delete‬يمكن إستخدامھا أيضا ً‬


‫لتحرير الكلمة ‪ .‬اآلن للحصول على قيمة ‪ Ratio1‬نقوم بإدخال العبارة التالية‪:‬‬
‫=‪ Ratio1‬و نالحظ ظھور النتيجة‪:‬‬

‫اآلن نطبع العبارة التالية‪ Ratio2:area/length[space]+5 :‬بحيث تكون الشاشة‬


‫كاآلتي‪:‬‬

‫ثم نطبع =‪ Ratio2‬إلظھار النتيجة‪:‬‬

‫تحديد موضع مناطق الحساب و تخصيص القيم للمتغيرات ‪Positioning‬‬


‫‪Math Regions and Making Assignments to Variables‬‬
‫عند طباعة العبارة ‪ VolBox:a*b*C‬عند مؤشر الحساب ) عالمة الصليب الحمراء(‬
‫و من ثم الضغط على المفتاح ‪ Enter‬نالحظ أن إستجابة ‪ Mathcad‬كاآلتي‪:‬‬

‫‪14‬‬
‫الفصل األول‬

‫و عندما نحرك المؤشر خارج ‪ VolBox‬يظھر صندوق رسالة‪:‬‬

‫أي أن ‪ Mathcad‬ال يمكنه تحديد القيمة للمتغير ‪ VolBox‬ألن قيم ‪ a,b,c‬لم تح ّدد ‪.‬‬
‫اآلن نقوم بتحديد قيم ‪: a,b,c‬‬

‫بعد تحديد قيم ‪ a,b,c‬قبل المتغير ‪ VolBox‬نالحظ عدم تغير لون الحروف ‪a,b,c‬‬
‫ألننا وضعناھا في الموضع الصحيح أي قبل المتغير ‪ VolBox‬و يمكننا اآلن مالحظة‬
‫النتيجة بواسطة طباعة =‪: VolBox‬‬

‫‪15‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫الحسابات األساسية ‪Elementary Calculations‬‬


‫في ھذا المقطع نتاول بعض عوامل ‪ Mathcad‬المستخدمة في الحسابات البسيطة و‬
‫الحسابات التكرارية ‪ .‬إن برنامج ‪ Mathcad‬يتيمز بوجود العديد من الدوال البنائية‬
‫‪ Built-in Functions‬كما يسمح للمستخدم بتعريف دواله الخاصة أي الدوال‬
‫المعرّفة من قبل المستخدم ‪ . User-defined Functions‬أضف الى ذلك يمكن‬
‫التعامل مع القوائم ‪ Lists‬باستخدام برنامج ‪ . Mathcad‬إن الحسابات األساسية‬
‫تتضمن‪:‬‬
‫‪ (1‬متغيرات المدى و التكرار ‪Range Variables and Iterations‬‬
‫‪Built-in Functions‬‬ ‫‪ (2‬الدوال البنائية‬
‫‪User-define Functions‬‬ ‫‪ (3‬الدوال المعرّفة من قبل المستخدم‬
‫‪Creating‬‬ ‫‪ (4‬الحصول على القوائم من بيانات الصف‪:‬متغير الرمز السفلي‬
‫‪Lists of Raw Data:Subscribted Variables‬‬

‫متغيرات المدى و التكرار ‪Range Variables and Iteration‬‬


‫نبدأ بصفحة جديدة من لوحة العمل حيث تظھر عالمة الصليب الحمراء‪ ،‬نطبع على‬
‫سبيل المثال‪ . Height:6,7;12 :‬نالحظ أن ‪ Mathcad‬يضع عالمة المساواة بعد‬
‫عالمة الوقف )‪ (:‬و يحول الفارزة المنقوطة الى نقطتين )‪ . (..‬إن الجانب األيمن من‬
‫المعادلة يشير الى أن ‪ 6‬قد تم تحديدھا للمتغير ‪ Height‬و ھذه القيمة تزداد بمقدار‬
‫واحد حتى تصل الى الرقم ‪ . 7‬إن النقطتين ھنا تمثل عامل متغير المدى ‪Range‬‬
‫‪ . Variable Operator‬إن متغير المدى يستمر بالزيادة حتى تصل قيمة اإلرتفاع‬
‫الى القيمة ‪ . 12‬أي أن اإلرتفاع عبارة عن متغير مدى ‪ .‬نقوم اآلن بطباعة الجملة‬

‫‪16‬‬
‫الفصل األول‬

‫التالية‪ . Width*Height= :‬نالحظ أن ‪ Mathcad‬يظھر مجموعة من القيم مر ّتبة‬


‫بشكل جدول تمثل حاصل ضرب اإلرتفاع في العرض علما ً أن قيمة العرض ھي ‪3‬‬
‫حيث تم إدخالھا مسبقا ً ‪ .‬حيث تظھر النتائج بالشكل التالي‪:‬‬

‫‪Width  3‬‬

‫‪Height  6  7  12‬‬

‫‪Height ‬‬
‫‪6‬‬
‫‪7‬‬
‫‪8‬‬
‫‪9‬‬
‫‪10‬‬
‫‪11‬‬
‫‪12‬‬

‫‪ 18‬‬ ‫‪0‬‬


‫‪18‬‬
‫‪ ‬‬ ‫‪0 18‬‬
‫‪ 21‬‬ ‫‪21‬‬
‫‪1 21‬‬
‫‪ 24‬‬ ‫‪24‬‬
‫‪‬‬ ‫‪  27‬‬
‫‪WidthHeight‬‬ ‫‪‬‬ ‫‪ 2 24‬‬
‫‪WidthHeight‬‬ ‫‪WidthHeight  27‬‬
‫‪ ‬‬ ‫‪3 27‬‬
‫‪ 30‬‬ ‫‪4 30‬‬
‫‪30‬‬
‫‪ 33‬‬ ‫‪33‬‬
‫‪ ‬‬ ‫‪17 5 33‬‬
‫‪ 36‬‬ ‫‪6 36‬‬ ‫‪36‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫و يمكن أن يظھر الجدول بعدة أنماط كما موضح في أعاله من اليسار الى اليمين‬
‫إعتماداً على إعدادات ‪ Mathcad‬حيث يمكن أن يكون‪:‬‬
‫‪ (1‬مصفوفة ‪Matrix‬‬
‫‪ (2‬جدول مع وجود تسمية الصف‪/‬العمود ‪Table with Column/Row‬‬
‫‪Labels‬‬
‫‪ (3‬جدول من دون تسمية الصف‪/‬العمود ‪Table without Column/Row‬‬
‫‪Labels‬‬

‫و يمكن التحكم في نمط ظھور الجدول بواسطة النقر على الجدول أو المصفوفة و من‬
‫خالل قائمة تنسيق ‪ Format‬و من ثم ننقر على نتيجة ‪ Result‬و من خالل صندوق‬
‫حوار تنسيق النتيجة ‪ Result Format DialogBox‬نختار نمط أظھار المصفوفة‬
‫‪. Matrix Display Style‬‬
‫بالنسبة للمثال أدناه المبين في الجانب األيسر ننقر على قائمة عرض ‪ View‬ثم على‬
‫شريط األدوات ‪ Toolbars‬و من ثم ننقر على حاسبة ‪ Calculator‬و بعدھا ننقر‬
‫على أيقونة الجذر التربيعي ‪ Square Root Icon‬و في داخل عالمة الجذر‬
‫التربيعي نطبع الجملة التالية‪ . Width*Height:‬أما بالنسبة للمثال الموجود في الوسط‬
‫فقد تمت عملية الحساب فيه من خالل طباعة الجملة التالية‪. Height/5*Width=:‬‬
‫إن السھم العلوي و السفلي يمكن إستخدامه بدالً من المفتاح ‪ Spacebar‬لتحديد‬

‫‪4.243‬‬ ‫‪0.316‬‬ ‫‪1.897‬‬


‫‪4.583‬‬ ‫‪0.293‬‬ ‫‪2.049‬‬
‫‪4.899‬‬ ‫‪0.274‬‬ ‫‪2.191‬‬
‫‪Width Height  5.196‬‬ ‫‪Width‬‬
‫‪‬‬
‫‪Height‬‬
‫‪0.258‬‬ ‫‪ Width  2.324‬‬
‫‪5 Height‬‬ ‫‪5‬‬
‫‪5.477‬‬ ‫‪0.245‬‬
‫‪18‬‬ ‫‪2.449‬‬
‫‪5.745‬‬ ‫‪0.234‬‬ ‫‪2.569‬‬
‫‪6‬‬ ‫‪0.224‬‬ ‫‪2.683‬‬
‫الفصل األول‬

‫مستوى العملية القادمة‪ .‬أما بالنسبة للمثال في الجانب األيمن فقد تم بواسطة إدخال‬
‫الجملة التالية‪. Height/5[Spacebar]*Width:‬‬

‫‪Mathcad’s Built-in‬‬ ‫الدوال البنائية في برنامج ‪Mathcad‬‬


‫‪Functions‬‬
‫يمكننا الحصول على مجموعة كبيرة من دوال برنامج ‪ Mathcad‬الجاھزة من خالل‬
‫النقر على أيقونة )‪ f(x‬الموجودة في شريط األدوات أو من خالل قائمة إدراج ‪Insert‬‬
‫‪Insert‬‬ ‫ننقر على دالة ‪ Function‬و ذلك لفتح صندوق حوار إدراج الدالة‬
‫‪ Function DialogBox‬المبين في أدناه‪:‬‬

‫و يمكن الحصول على الدوال الشائعة من خالل قائمة عرض ‪ View‬و منھا نختار‬
‫‪ Toolbars‬ثم نختار حاسبة ‪ Calculator‬حيث يظھر الشكل التالي‪:‬‬

‫‪19‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫و كمثال على تطبيق الدوال الجاھزة نأخذ مثاالً حول كيفية حساب جيب تمام الزاوية‬
‫‪ . (Cos(30)) 30o‬من قائمة عرض نختار أشرطة األدوات و منھا نختار حاسبة‬
‫‪ Calculator‬نختار منھا ‪ cos‬حيث يظھر في لوحة العمل بالشكل التالي‪:‬‬

‫‪20‬‬
‫الفصل األول‬

‫إن وسيط دالة الجيب تمام يعبّر عنه عادة بالراديان ‪ Radians‬و عليه يجب تحويل‬
‫‪ 30‬درجة الى الراديان بواسطة الضرب في المقدار ‪ . /180‬و للحصول على‬
‫الحروف األغريقية ‪ Greek Letters‬ندخل الحرف المكافئ له باللغة اإلنكليزية و‬

‫من ثم نضغط على المفاتيح ‪ . Ctrl+G‬على سبيل المثال الضغط على الحرف ‪ P‬ثم‬
‫على المفاتيح ‪ Ctrl+G‬يؤدي الى الحصول على الحرف ‪ ) ‬الضغط مرة أخرى على‬
‫المفاتيح ‪ Ctrl+G‬يؤدي الى العودة الى الحالة األولى( ‪ .‬و من ناحية أخرى‪ ،‬يمكننا‬
‫بسھولة الحصول على الحروف األغريقية من خالل القائمة عرض ‪ View‬ثم أشرطة‬
‫األدوات ثم نختار منھا ‪ Greek‬و بعد ذلك يظھر شريط أدوات الحروف األغريقية‬
‫‪ Greek Toolbars‬المبين في ادناه ومنه نختار الحرف المناسب‪:‬‬

‫في مجال الكتابة )‪ (J‬الموجود في دالة الجيب تمام نطبع العبارة التالية‪:‬‬
‫=‪ 30*pCtrlg/180‬و النتيجة تظھر بالشكل التالي‪:‬‬

‫‪21‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫إن الضغط المستمر على المفاتيح ‪ Ctrl+G‬يغير مابين الحروف اإلنكليزية و األغريقية‬
‫‪ .‬إن إختيار كل حرف إنكليزي في السطر األول المبين في أدناه يؤدي الى الحصول‬
‫على سطر ثاني بالحرف األغريقي المناظر له بعد الضغط على المفاتيح ‪: Ctrl+G‬‬

‫و للحصول على العدد المرغوب من المراتب العشرية ننقر نقراً مزدوجا ً على العدد و‬
‫ھذا يؤدي الى ظھور صندوق حوار تنسيق النتيجة ‪ Result Format‬المبين في أدناه‬
‫و منه نختار العدد المرغوي من المراتب العشرية ‪.‬‬

‫الدوال المعرّ فة من قبل المستخدم ‪User-Defined Functions‬‬


‫أي الدوال التي تكتب و تعرّ ف من قبل المستخدم ‪ .‬على سبيل المثال‪ ،‬لتعريف الدالة‬
‫التالية‪ f(x)=3x2+4:‬نطبع ‪ f(x):‬و ‪ Mathcad‬يحول ذلك بالشكل التالي‪:‬‬

‫‪22‬‬
‫الفصل األول‬

‫نستمر بإدخال باقي المتغيرات ‪ . 3*x[Shift^2]+4‬ثم نكتب في نفس السطر الدالة‬


‫‪ g(y)=y2+3‬و النتيجة تكون كاآلتي‪:‬‬

‫إن إسم الدالة ھو ‪ f‬و وسيط المتغير ھو ‪ . x‬أما إسم الدالة الثانية فھو ‪ g‬و وسيط‬
‫المتغير ھو ‪ . y‬و لغرض تقييم الدالة بقيمة معينة ‪ ،‬نقوم بكتابة الدالة مرة أخرى و‬
‫ندخل قيمة معينة فيھا و من ثم نكتب عالمة المساواة حيث نحصل بعدھا على النتيجة‪:‬‬

‫و لتقييم الدالة عند مدى من القيم‪ ،‬نقوم أوالً بتعريف متغير المدى عند مدى القيم‬
‫المطلوبة ‪ .‬و من ثم يتم إدخال إسم متغير المدى في الدالة بعدھا نحصل على النتيجة‪:‬‬

‫‪x   2   1  5‬‬ ‫‪i   2   1  5‬‬

‫‪16‬‬ ‫‪7‬‬ ‫‪7‬‬


‫‪7‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪f ( i) ‬‬ ‫‪7‬‬
‫‪g ( i) ‬‬ ‫‪4‬‬
‫‪g (x) ‬‬ ‫‪4‬‬
‫‪16‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪31‬‬ ‫‪12‬‬ ‫‪12‬‬
‫‪52‬‬ ‫‪19‬‬ ‫‪19‬‬
‫‪79‬‬ ‫‪28‬‬ ‫‪28‬‬

‫و يمكن تعريف الدالة لمتغيرين بالشكل التالي‪:‬‬

‫‪23‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫و لتقييم الدالة عند ‪ r=3‬و ‪ h=4‬نطبع )‪ V(3,4‬و تكون النتيجة كمافي أدناه‪:‬‬

‫اآلن نقوم بإدخال قيم متغيرة لكل من ‪ r‬و ‪: h‬‬

‫و يمكن تنفيذ التكرار في مثل ھذه الدوال من خالل تغيير أحد المتغيرات ) ‪ r‬على سبيل‬
‫المثال( بواسطة إستخدام متغير المدى‪:‬‬

‫‪r  1  1.1  2‬‬


‫‪12.566‬‬
‫‪15.205‬‬
‫‪18.096‬‬
‫‪21.237‬‬
‫‪24.63‬‬
‫‪V ( r  4) ‬‬ ‫‪28.274‬‬
‫‪32.17‬‬
‫‪36.317‬‬
‫‪40.715‬‬
‫‪45.365‬‬
‫‪50.265‬‬

‫الحصول على القوائم من بيانات الصف‪:‬متغير الرمز السفلي ‪Creating‬‬


‫‪Lists of Raw Data:Subscrpited Variable‬‬
‫إن التجارب التي نجريھا في المختبرات نحصل منھا عادة على قائمة بيانات ‪List of‬‬
‫‪ . Data‬و بواسطة برنامج ‪ Mathcad‬يمكننا بسھولة إدخال قوائم البيانات بشكل‬
‫متجه ‪ Vector‬أي قائمة أو مصفوفة ذات بعد واحد ‪ .‬و كمثال‪ ،‬نفرض أن لدينا قائمة‬

‫‪24‬‬
‫الفصل األول‬

‫بيانات مكونة من ‪ 6‬قيم ‪ .‬يمكن إدخال ھذه القيم من خالل طباعة‪ ) i:1;6 :‬أو يمكننا‬
‫النقر على أيقونة ‪ m..n‬الموجودة في شريط أدوات المصفوفة ‪Matrix Toolbar‬‬
‫بدالً من إدخال الفارزة المنقوطة ‪ ( Semicolon‬حيث تكون عملية اإلدخال بالشكل‬
‫التالي‪:‬‬

‫ثم ننقر على األيقونة ‪ Xn‬في شريط أدوات المصفوفة ‪ Matrix Toolbar‬المبين في‬
‫ادناه‪:‬‬
‫بعد النقر على األيقونة نالحظ ظھور عالمتين لمجال الكتابة )‪:(J‬‬

‫نطبع ‪ x‬في مجال الكتابة العلوي األيسر و من ثم نطبع ‪ i‬في مجال الكتابة السفلي األيمن‬
‫‪ .‬بعد ذلك نطبع عالمة الوقف )‪ (:‬متبوعة بالعدد األول في القائمة ‪: 3.4‬‬

‫بعد ذلك نطبع فارزة ‪ Comma‬بعد ‪ 3.4‬أي نضغط على المفتاح فارزة و ھذا يؤدي‬
‫الى ظھور صندوق آخر حاوي على مجال الكتابة بدالً من ظھور الفارزة ‪:‬‬

‫‪25‬‬
‫مقدمة حول برنامج ‪Mathcad‬‬

‫اآلن نضع الرقم الثاني في مجال الكتابة الموجود تحت ‪ 3.4‬و ندخل مرة أخرى فارزة‬
‫و ھذه تؤدي بدورھا الى ظھور صندوق مجال الكتابة مرة أخرى بعد الرقم الثاني حيث‬
‫ندخل فيه الرقم الثالث ‪ .‬نستمر على ھذه الطريقة حتى يتم إدخال جميع قيم قائمة‬
‫البيانات ) ‪ 6‬قيم( و عند الوصول الى الرقم األخير )الرقم السادس في القائمة( نتوقف‬
‫عن عملية الضغط على المفتاح ‪ . Comma‬إن الصندوق الخارجي المحيط بالقائمة‬
‫يحوي عادة على متغير الرمز السفلي ‪ . Xi‬اآلن نقوم بإدراج قائمة ثانية إسمھا ‪. yi‬‬
‫نالحظ بأن متغير المدى ‪ i‬يتبع بعالمة التخصيص )=‪ (:‬كما أن اإلعالن عن متغيرات‬
‫الرمز السفلي‪ xi,yi‬يتم أيضا ً من خالل إستخدام عالمة التخصيص ‪.‬‬
‫اآلن نقوم ببعض العمليات الحسابية البسيطة على القوائم ‪ xi,yi‬كما في المثال التالي‪:‬‬

‫‪i  1  6‬‬
‫‪xi ‬‬ ‫‪yi ‬‬ ‫‪xi ‬‬ ‫‪xi 2‬‬
‫‪‬‬
‫‪3.4‬‬ ‫‪11‬‬ ‫‪1.844‬‬ ‫‪11.56‬‬ ‫‪37.4‬‬
‫‪4.5‬‬ ‫‪22‬‬ ‫‪2.121‬‬ ‫‪20.25‬‬ ‫‪99‬‬
‫‪6.7‬‬ ‫‪33‬‬ ‫‪2.588‬‬
‫‪8‬‬ ‫‪44‬‬
‫‪44.89‬‬ ‫‪xi yi  221.1‬‬
‫‪2.828‬‬ ‫‪64‬‬ ‫‪352‬‬
‫‪5‬‬ ‫‪55‬‬
‫‪2.236‬‬ ‫‪25‬‬ ‫‪275‬‬
‫‪6.5‬‬ ‫‪66‬‬
‫‪2.55‬‬ ‫‪42.25‬‬ ‫‪429‬‬

‫‪26‬‬
‫الفصل األول‬

‫الخالصة ‪Summary‬‬
‫يتكون برنامج ‪ Mathcad‬من لوحة عمل يمكن من خاللھا إجراء العديد من العمليات‬
‫الحسابية و العددية و معالجة الرسومات البيانية و المعادالت ‪ .‬و يتميز البرنامج بوجود‬
‫منطقتين ھما‪:‬‬
‫‪ (1‬منطقة الحساب ‪Math Region‬‬
‫‪ (2‬منطقة النص ‪Text Region‬‬
‫بينما يمكننا‬ ‫و يتم عادة تحديد القيم للمتغيرات بواسطة عالمة التخصيص )=‪(:‬‬
‫الحصول على النتيجة من خالل عالمة المساواة )=( ‪ .‬و بإمكاننا إستخدام الدوال‬
‫البنائية الجاھزة أو يمكننا تحديد الدوال التي نريدھا أي أن ھناك دوال جاھزة و دوال‬
‫يتم تعريفھا من قبل المستخدم ‪ .‬أضف الى ذلك يمكننا بواسطة برنامج ‪Mathcad‬‬
‫التعامل بسھولة مع المصفوفات‪ ،‬قوائم البيانات‪ ،‬و متغيرات المدى‪ ،‬و إجراء كافة‬
‫العمليات الحسابية عليھا ‪.‬‬

‫‪27‬‬
‫المصفوفات‬

‫‪Mathcad’s Matrix Definitions‬‬ ‫تعاريف مصفوفة ‪Mathcad‬‬


‫المصفوفة ‪ Matrix‬ھي عبارة عن مجموعة من األعداد تسمى العناصر ‪elements‬‬
‫التي ترتبط مع بعضھا بطريقة ما ‪ .‬و تستخدم المصفوفات في أغلب األحيان للتعبير‬
‫عن مجموعة من البيانات ‪ .‬على سبيل المثال‪ ،‬عندما نسجّ ل تغيّر درجة الحرارة مع‬
‫الزمن لمعدن منصھر يخضع الى التجمد فإننا نحصل على مجموعة من قيم درجات‬
‫الحرارة و الزمن بشكل أعداد مرتبطة مع بعضھا ‪ .‬إن ھذه المجموعة من البيانات‬
‫يمكن خزنھا في الحاسوب بشكل مصفوفة ‪ .‬و في الرياضيات‪ ،‬نطلق إسم متجه‬
‫‪ Vector‬على مجموعة القيم في صف واحد أو عمود واحد ‪ .‬و عندما تخزن قيم‬
‫درجات الحرارة و الزمن بشكل منفصل فھذا يعني أن لدينا متجه من درجات الحرارة‬
‫‪ Temperature Vector‬و متجع من قيم الزمن ‪ . Time Vector‬و المصفوفة‬
‫ھي عبارة عن واحد أو أكثر من من المتجھات ‪ ،‬ھذا يعني أن المصفوفة المكونة من‬
‫صف واحد أو عمود واحد سوف تكون في نفس الوقت عبارة عن متجه ‪ .‬و من ناحية‬
‫أخرى‪ ،‬المصفوفة المكونة من ثالث صفوف و عمودين تسمى ‪ 3G2Matrix‬و ليس‬
‫متجھا ً ‪ .‬و لكن يمكنك القول أنھا مصفوفة مكونة من ثالث متجھات من الصفوف و‬
‫متجھين من األعمدة ‪ .‬من ھنا‪ ،‬كل متجه ھو عبارة عن مصفوفة و لكن فقط‬
‫المصفوفات المكونة من صف واحد أو عمود واحد تسمى متجھات ‪. Vectors‬‬

‫أما بالنسبة لبرنامج ‪ Mathcad‬فإنه يستخدم مصطلح الصفيف ‪ . Array‬و في برنامج‬


‫‪ ، Mathcad‬المتجه فقط له صف واحد أو عمود واحد أما المصفوفة فإنھا دائما ً لھا‬
‫في الحد األدنى صفين أو عمودين و ھذا يعني عدم وجود تداخل مابين المصفوفات‬
‫‪ Matrices‬و المتجھات ‪ Vectors‬في تعاريف برنامج ‪. Mathcad‬‬

‫‪32‬‬
‫الفصل الثاني‬

‫إن برنامج ‪ Mathcad‬يستخدم المصطلح صفيف ‪ Array‬لإلشارة الى مجموعة قيم‬


‫البيانات المرتبطة مع بعضھا و التي يمكن أن تكون إما مصفوفة ‪ Matrix‬أو متجه‬
‫‪ . Vector‬كما أن ‪ Mathcad‬يستخدم مصطلحا ً آخر لإلشارة الى نوع العامل الذي‬
‫يجب أن يرسل الى الدوال التي تعالج المصفوفات و المتجھات ‪ .‬على سبيل المثال‪،‬‬
‫يمكنك إرسال إما متجه أو مصفوفة الى الدالة )‪ rows(A‬أي أن ھذه الدالة تتقبل‬
‫معالجة المتجه أو المصفوفة ‪.‬‬

‫تعاريف مستخدمة في ملفات مساعد ‪Definitions Used in Mathcad‬‬


‫‪Mathcad Help Files‬‬
‫‪ ، Array Argument‬حيث يمكن أن يكون‬ ‫‪ (1‬وسيط الصفيف‪A-‬‬
‫مصفوفة أو متجه ‪.‬‬
‫‪ ، Matrix Argument‬صفيف مكون من إثنين‬ ‫‪ (2‬وسيط المصفوفة‪M-‬‬
‫أو أكثر من الصفوف أو األعمدة ‪.‬‬
‫‪ ، Vector Argument‬صفيف مكون من‬ ‫‪ (3‬وسيط المتجه‪V-‬‬
‫صف واحد أو عمود واحد ‪.‬‬

‫و جدير بالذكر أن الدالة )‪ length(V‬تتطلب وجود متجھا ً و ال تتقبل التعامل مع عدة‬


‫صفوف أو عدة أعمدة ‪ .‬أما عامل المحددة |‪ Determinant Operator |M‬فإنه‬
‫بتطلب وجود مصفوفة مربعة ‪ Square Matrix‬و ال يتعامل مع المتجه ‪.‬‬

‫أصل الصفيف ‪Array Origin‬‬


‫في الحالة اإلفتراضية ‪ ،‬يشير ‪ Mathcad‬الى العنصر األول في المتجه بأنه عنصر‬
‫الصفر ‪ . Element Zero‬أما بالنسبة للمصفوفة الثنائية األبعاد فإن أصل الصفيف‬

‫‪33‬‬
‫المصفوفات‬

‫‪ Array Origin‬ھو ‪ 0,0‬في الحالة اإلفتراضية ‪ .‬و عندما نرغب في تغيير الحالة‬
‫اإلفتراضية أي ‪ 0,0‬ألصل الصفيف فإننا نستخدم التعليمة ‪ . ORIGIN‬المثال التالي‬
‫يوضح كيفية تغيير األصل من ‪ 0,0‬الى ‪ 1,1‬بالنسبة ألعداد الصف و العمود‪:‬‬

‫‪ 12 15 17 ‬‬
‫‪MyArray  ‬‬ ‫‪‬‬
‫‪ 23 25 29 ‬‬

‫‪MyArray 0  0  12‬‬ ‫‪MyArray0  1  15‬‬

‫‪ORIGIN  1‬‬

‫‪ 12 15 17 ‬‬
‫‪MyArray  ‬‬ ‫‪‬‬
‫‪ 23 25 29 ‬‬
‫‪MyArray 1  1  12‬‬ ‫‪MyArray 1  2  15‬‬

‫نالحظ بأن المصفوفة تبدو نفسھا و لكن األصل قد تغيّر من ‪ 0,0‬الى ‪ 1,1‬بعد التعليمة‬
‫‪ . ORIGION‬وعليه‪ ،‬العنصر الموجود في الجھة اليسرى العليا ھو اآلن ‪ 1,1‬و ليس‬
‫‪. 0,0‬‬

‫‪Initializing Matrix‬‬ ‫إنشاء المصفوفة‬

‫‪34‬‬
‫الفصل الثاني‬

‫إن عملية مأل المصفوفة بالعناصر تسمى إنشاء المصفوفة و قبل التعامل مع المصفوفة‬
‫فإنھا البد أن تمأل بالعناصر ‪ .‬و ھناك عدة أساليب يمكن إستخدامھا في ‪Mathcad‬‬
‫إلنشاء المصفوفة‪:‬‬
‫‪ (1‬طباعة القيم من لوحة المفاتيح ‪.‬‬
‫‪ (2‬حساب القيم بواسطة إستخدام دالة أومتغير المدى ‪. Range Variable‬‬
‫‪ (3‬إستخدام جدول اإلدخال في مأل المصفوفة ‪.‬‬
‫‪ (4‬قراءة القيم من الملف ‪.‬‬
‫‪ (5‬نسخ و لصق القيم من برامج ‪ Windows‬األخرى مثل برنامج ‪. Excel‬‬

‫و ھنا سيتم التطرق الى اإلسلوب األول و الثاني فقط ‪.‬‬

‫طباعة القيم في المصفوفة ‪Typing Values into a Matrix‬‬


‫يمكنك إدخال القيمة في عنصر معين من المصفوفة بإستخدام تعريف ‪ Mathcad‬على‬
‫سبيل المثال‪ ،‬طباعة‪ [G][ [ ] [3] [ ,] [2] [:] [6] [4] :‬يضع القيمة ‪ 64‬في العنصر‬
‫الموجود في الموقع ‪ 3,2‬من المصفوفة ‪ . G‬و عندما تكون المصفوفة ‪ G‬غير معرّ فة‬
‫مسبقا ً فإن ‪ Mathcad‬يقوم بإنشاء مصفوفة كبيرة كافية إلدخال قيمة العنصر في‬
‫الموقع ‪ 3,2‬و يجعل العنصر الغير معرّف مساويا ً للصفر ‪ .‬في المثال التالي نالحظ بأن‬
‫أصل المصفوفة ھو ‪ 0,0‬و لھذا توضع القيمة ‪ 64‬في العنصر ‪ 3,2‬الذي يمثل الصف‬
‫الرابع و العمود الثالث‪:‬‬

‫‪35‬‬
‫المصفوفات‬

‫‪G 3  2  64‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0‬‬


‫‪‬‬ ‫‪‬‬
‫‪G‬‬
‫‪0‬‬ ‫‪0 0 ‬‬
‫‪0‬‬ ‫‪0 0 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪0‬‬ ‫‪0 64 ‬‬

‫إن مأل محتويات كل عنصر باألرقام سوف تكون عملية بطيئة‪ ،‬و لحسن الحظ يزودنا‬
‫‪ Mathcad‬بإسلوب جيد‪ ،‬حيث أنه بدالً من تعريف كل عنص بشكل منفرد‪ ،‬يسمح لنا‬
‫‪ Mathcad‬بتعريف المصفوفة بكاملھا في نفس الوقت حيث نحتاج في البداية الى‬
‫تسمية المصفوفة ‪ ،‬لتكن ‪ G‬و من ثم إنشاء مجال الكتابة بواسطة طباعة‪ [G] [:] :‬كما‬
‫مبين في أدناه‪:‬‬

‫و إلنشاء المصفوفة ننقر على مكان الكتابة في الجانب األيمن من التعريف و من ثم‬

‫نقوم بجلب صندوق حوار إدراج المصفوفة ‪ Insert Matrix Dialog Box‬المبين‬
‫في أدناه بإحدى األساليب التالية‪:‬‬
‫‪ (1‬نختار مصفوفة ‪ Matrix‬من قائمة إدراج ‪. Insert‬‬

‫‪36‬‬
‫الفصل الثاني‬

‫‪ (2‬نختار مصفوفة من صندوق أدوات المصفوفة المبين في أعاله )المحاط‬


‫بالدائرة( ‪.‬‬
‫‪ (3‬نستخدم إختصار لوحة المفاتيح ‪. Ctrl-M‬‬

‫اآلن تقوم بإدخال عدد الصفوف و األعمدة التي نريدھا في مصفوفة ‪ . G‬ندخل الرقم ‪4‬‬
‫في خانة الصفوف ‪ Rows‬و الرقم ‪ 3‬في خانة األعمدة كمافي الشكل أدناه‪:‬‬

‫‪37‬‬
‫المصفوفات‬

‫و من ثم ننقر على الزر ‪ OK‬و ذلك إلدراج مصفوفة من مجاالت الكتابة ‪Matrix of‬‬
‫‪ Placeholder‬و نغلق صندوق الحوار ‪ .‬إن الزر إدراج ‪ Insert‬يؤدي الى إنشاء‬
‫مصفوفة من مجاالت الكتابة و يترك صندوق الحوار مفتوحا ً و ھذا يكون مفيداً عندما‬
‫يكون لدينا تعاريف لعدة مصفوفات‪:‬‬

‫وإلتمام تعريف المصفوفة ننقر ببساطة على المصفوفة ‪ G‬في مجال الكتابة و نقوم‬

‫‪‬‬ ‫‪‬‬
‫‪‬‬
‫‪G  ‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫بإدخال قيمة كل عنصر من عناصر المصفوفة ‪ . 4G3 Matrix‬و يمكن التحرك من‬
‫مجال كتابة الى آخر ‪ ،‬أما بإستخدام الفأرة ‪ Mouse‬أو بواسطة الضغط على المفتاح‬
‫]‪ [Tab‬بعد كل عملية إدخال ‪ .‬إن نتيجة المصفوفة يجب أن تبدو كما في الشكل‬
‫التالي‪:‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪1‬‬


‫‪‬‬ ‫‪‬‬
‫‪G  ‬‬
‫‪2‬‬ ‫‪4 8‬‬
‫‪3‬‬ ‫‪9 27 ‬‬
‫‪4‬‬ ‫‪‬‬
‫‪‬‬ ‫‪16 64 ‬‬

‫‪38‬‬
‫الفصل الثاني‬

‫‪Units on Matrix‬‬ ‫إستخدام الوحدات في عناصر المصفوفات‬


‫‪Elements‬‬
‫إذا كانت جميع عناصر المصفوفة لھا نفس الوحدة‪ ،‬يمكننا ببساطة ضرب المصفوفة‬
‫بالوحدة المناسبة ‪ .‬و بخالف ذلك‪ ،‬نستخدم الوحدة المناسبة لكل عنصر في المصفوفة ‪.‬‬
‫و المثال التالي‪ ،‬يبين كيفية التعبير عن الوحدات المتشابھة في عناصر المصفوفة بأكثر‬
‫من إسلوب كما ھو الحال في متجھات الزمن ‪: Time Vectors‬‬

‫‪0 ‬‬
‫‪ ‬‬
‫‪time ‬‬
‫‪ 10  min‬‬
‫‪ 20 ‬‬
‫‪ ‬‬
‫‪ 30 ‬‬

‫‪ 0  min ‬‬


‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪10‬‬ ‫‪‬‬ ‫‪min‬‬ ‫‪‬‬
‫‪time ‬‬
‫‪ 20  min ‬‬
‫‪‬‬ ‫‪‬‬
‫‪ 0.5  hr ‬‬

‫حيث نالحظ أن تعاريف الوحدات في كال المتجھين متساوية ‪.‬‬

‫‪Computing‬‬ ‫حساب قيم عنصر المصفوفة بإستخدام متغيرات المدى‬


‫‪Matrix Elements Values by Using Range Variables‬‬

‫‪39‬‬
‫المصفوفات‬

‫إن برنامج ‪ Mathcad‬يزودنا أيضا ً بنوع معين من المتغيرات التي تأخذ سلسلة أو‬
‫مدى من القيم ‪ .‬و ھذا النوع من المتغيرات يسمى متغير المدى ‪Range Variables‬‬
‫‪ .‬حيث يمكن إستخدامه مع المصفوفات لتحديد العناصر المعينة في المصفوفة ‪ .‬على‬
‫سبيل المثال‪ ،‬يمكن إستخدام متغير المدى في مثال متجه الزمن أعاله ‪ .‬في ھذه الحالة‬
‫نحتاج الى القيم ‪ 0,1,2,3‬في متغير المدى و ذلك لإلشارة الى كل عنصر في متجه‬
‫الزمن ‪ .‬و يمكن أن متغير المدى الرمز ‪ i‬أو ‪ j‬أو أي رمز آخر إال أن الرموز ‪ i‬و ‪ j‬ھي‬
‫األكثر شيوعا ً ‪ .‬و متغير المدى بالنسبة للمثال أعاله )متجه الزمن( يعرّ ف بالشكل‬
‫التالي‪: [i][:][0][;][3] :‬‬

‫‪ Semicolon‬لإلشارة الى المدى و‬ ‫];[‬ ‫و ھنا إستخدمنا الفارزة المنقوطة‬


‫‪ Mathcad‬يظھر ھذه الفارزة بشكل نقاط ‪ .‬إن متغير المدى الذي تم تعريفه في أعاله‬
‫تستخدم لغرض تقييم الفترات الزمنية‬ ‫يتميز بوجود أربع قيم )‪(0,1,2,3‬‬

‫‪i  0  3‬‬

‫‪time i  ( i  10)  min‬‬

‫‪0 ‬‬
‫‪ ‬‬
‫‪time ‬‬
‫‪ 10  min‬‬
‫‪ 20 ‬‬
‫‪ ‬‬
‫‪ 30 ‬‬
‫)‪ . (0,10,20,30‬و بعد تعريف متغير المدى‪ ،‬يمكن تمثيل عناصر متجه الزمن‬
‫بالشكل التالي‪:‬‬

‫‪40‬‬
‫الفصل الثاني‬

‫إن متغير المدى )‪ (i‬قد إستخدم بشكل دليل رمزي سفلي بواسطة ‪Mathcad‬‬
‫)بإستخدام المفتاح [ ( ‪ .‬حيث نالحظ وجود متغير المدى )‪ (i‬في الجانب األيسر من‬
‫التعريف لإلشارة الى عنصر الزمن في متجه الزمن كما نالحظ إستخدامه في الجانب‬
‫األيمن من التعريف أي في جانب الحساب )الجانب األيمن من المعادلة ( ‪ .‬و عندما‬
‫تتغير قيمة متغير المدى من ‪ 0‬الى القيمة ‪ 3‬فإن قيمة العنصر المحسوبة تتغير من‬
‫القيمة ‪ 0‬الى القيمة ‪. 30 min‬‬

‫مثال حول المصفوفة الثنائية األبعاد‬


‫في المعادالت أدناه‪ ،‬إستخدمنا متغيرات المدى ‪ c,r‬لإلشارة الى صف ‪ row‬و عمود‬
‫‪ column‬العنصر في المصفوفة )‪ . (S‬حيث أن قيمة العنصر تعتمد على قيم ‪: c,r‬‬

‫‪r  0  4‬‬ ‫‪c  0  2‬‬

‫‪2‬‬ ‫‪2‬‬
‫‪Sr  c  r  c‬‬

‫‪ 0‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪‬‬


‫‪1‬‬ ‫‪2‬‬ ‫‪5 ‬‬
‫‪‬‬
‫‪S 4‬‬ ‫‪5‬‬ ‫‪8‬‬
‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪9‬‬ ‫‪10‬‬ ‫‪13 ‬‬
‫‪ 16‬‬ ‫‪‬‬
‫‪‬‬ ‫‪17‬‬ ‫‪20 ‬‬
‫‪41‬‬
‫المصفوفات‬

‫‪Computing‬‬ ‫حساب قيم عنصر المصفوفة بإستخدام الدالة )(‪Matrix‬‬


‫‪Matrix Elements Values Using the Matrix() Function‬‬
‫إن دالة المصفوفة ) (‪ matrix‬في برنامج ‪ Mathcad‬تسمح لنا بمأل المصفوفة بالقيم‬
‫من دون اإلعالن عن متغيرات المدى أي باإلعتماد على المعلومة التي ترسلھا الى‬
‫الدالة ) (‪ . matrix‬إن الدالة )‪ matrix(r,c,f‬يمكن من خاللھا الحصول على مصفوفة‬
‫مكونة من صفوف )‪ ( r‬و أعمدة )‪ (c‬و التي يتم فيھا حساب قيم العنصر )‪ (i,j‬بإستخدام‬
‫الدالة ) (‪ . f‬إن ھذه الدالة يجب أن تكون مكونة من متغيرين و يجب اإلعالن عنھا قبل‬
‫الدالة ) (‪ . matrix‬إن الدالة )‪ f(i,j‬تقيم بشكل متكرر و ذلك بھدف مأل المصفوفة بقيم‬
‫‪ i‬التي تتراوح من ‪ 0‬الى ‪ r-1‬و قيم ‪ j‬التي تتراوح من ‪ 0‬الى ‪ . c-1‬إن مصفوفة ‪S‬‬
‫يمكن إنشاؤھا بإستخدام الدالة ) (‪ matrix‬كما مبين في أدناه‪:‬‬

‫‪2‬‬ ‫‪2‬‬
‫‪myFunc ( r  c )  r  c‬‬

‫) ‪S  matrix ( 5  3  myFunc‬‬

‫‪ 0‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪‬‬


‫‪1‬‬ ‫‪2‬‬ ‫‪5 ‬‬
‫‪‬‬
‫‪S 4‬‬ ‫‪5‬‬ ‫‪8‬‬
‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪9‬‬ ‫‪10‬‬ ‫‪13 ‬‬
‫‪ 16‬‬ ‫‪‬‬
‫‪‬‬ ‫‪17‬‬ ‫‪20 ‬‬

‫إنشاء المصفوفة المحايدة )المتناظرة( ‪Creating an Identity Matrix‬‬


‫المصفوفة المتناظرة عبارة عن مصفوفة مربعة ‪ Square Matrix‬تمأل بالرقم )‪(1‬‬
‫على طول الخط القطري و باإلصفار )‪ (0‬على الجوانب األخرى ‪ .‬إن الدالة‬
‫) (‪ identity‬تقوم بإنشاء مصفوفة متناظرة ‪ ،‬ألن عدد الصفوف مساويا ً الى عدد‬

‫‪42‬‬
‫الفصل الثاني‬

‫األعمدة في في المصفوفة المتناظرة‪ ،‬و لھذا تقوم الدالة ) (‪ identity‬بأخذ عامل واحد‬
‫لإلشارة الى عدد الصفوف أو عدد األعمدة ‪ .‬و ھنا سوف نأخذ مثاالً حول إستخدام‬
‫الدالة ) (‪ identity‬إلنشاء مصفوفة متناظرة ‪ 5G5‬و لتكن ‪: ID‬‬

‫إستخدام جدول اإلدخال إلنشاء المصفوفة ‪Using an Input Table to‬‬

‫)‪ID  identity ( 5‬‬

‫‪ 1‬‬ ‫‪0 0 0 0‬‬


‫‪‬‬
‫‪0‬‬ ‫‪1 0 0 0‬‬
‫‪‬‬
‫‪ID  0‬‬ ‫‪0 1 0 0‬‬
‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪0‬‬ ‫‪0 0 1 0‬‬
‫‪0‬‬ ‫‪‬‬
‫‪‬‬ ‫‪0 0 0 1‬‬
‫‪Create a Matrix‬‬
‫يزودنا ‪ Mathcad‬بميزة أخرى تسمى جدول اإلدخال ‪ Input Table‬و ھي مشابھة‬
‫لجدول برنامج ‪ . Excel‬و ھو إسلوب مناسب إلدخال البيانات في الجدول يدويا ً ‪ ،‬كما‬
‫يمكن إستيراد البيانات من عدة ملفات مثل الملفات النصية ‪ txt Files‬أو ملفات‬
‫‪ . (Spreadsheets Files) Excel‬إن جدول اإلدخال يعتبر إسلوبا ً مناسبا ً و مرنا ً‬
‫في مأل المصفوفات بالبيانات من مصادر مختلفة ‪ .‬و لغرض إستخدام جدول اإلدخال‬
‫في إنشاء و مأل المصفوفة ‪ ،‬نتبع الخطوات التالية‪:‬‬
‫‪ ‬ننقر على لوحة العمل ‪ Worksheet‬لتحديد مكان أو موضع إدخال الجدول‬
‫إختيار‬ ‫بواسطة‬ ‫الجدول‬ ‫بإدراج‬ ‫نقوم‬ ‫ثم‬ ‫من‬ ‫و‬ ‫‪،‬‬
‫‪ Insert/Component/Input Table‬كما مبين في ألشكل التالي‪:‬‬

‫‪43‬‬
‫المصفوفات‬

‫‪ ‬نقوم بإدخال إسم المصفوفة المراد إنشاؤھا في مجال الكتابة في الزاوية‬


‫اليسرى العليا من جدول اإلدخال ‪ .‬و في ھذا المثال‪ ،‬سوف نرمز للمصفوفة‬
‫بالرمز ‪: A‬‬

‫‪A ‬‬
‫‪0‬‬ ‫‪1‬‬
‫‪0‬‬
‫‪1‬‬

‫‪44‬‬
‫الفصل الثاني‬

‫اآلن‪ ،‬يمكننا ببساطة البدء بطباعة القيم في الجدول أو يمكننا إتباع الخطوات المتبقية‬
‫إلستيراد القيم من الملفات‪:‬‬
‫‪ ‬ننقر في أي مكان في جدول اإلدخال و ذلك إلختياره ‪.‬‬
‫‪ ‬ننقر الزر األيمن للفأرة و من ثم نختار ‪ Import‬من القائمة المنبثقة‪:‬‬

‫‪ ‬بعد ذلك يظھر صندوق حوار خيارات الملف ‪ ،‬نختار منه نوع الملف المطلوب‬
‫)‪ (e.g:Excel File‬أي الملف المراد إستيراد بياناته و من ثم نتصفح في‬
‫الملف ‪ .‬و جدول اإلدخال يكون كاآلتي‪:‬‬

‫‪45‬‬
‫المصفوفات‬

‫و بعد ذلك يمكننا إستخدام المصفوفة في الحسابات األخرى ‪ .‬و ھنا المصفوفة المملوءة‬
‫بالبيانات تظھر بالشكل التالي‪:‬‬

‫تعديل المصفوفة ‪Modifying a Matrix‬‬

‫لو فرضنا أننا أدخلنا مصفوفة كبيرة بواسطة لوحة المفاتيح و وجدنا فيما بعد اننا تركنا‬
‫أحد الصفوف فارغا ً ‪ ،‬ھذا ال يعني إعادة كتابة تلك المصفوفة الكبيرة من جديد لغرض‬

‫‪46‬‬
‫الفصل الثاني‬

‫تعديلھا ألن ‪ Mathcad‬يزودنا بإمكانية "التعديل على المصفوفات" مثل إدراج صف‬
‫أو عمود في المصفوفة المراد تعديلھا كما يزودنا بإمكانية حذف الصفوف أو األعمدة ‪.‬‬
‫أضف الى ذلك‪ ،‬أن برنامج ‪ Mathcad‬يزودنا بإمكانية وضع أحد المصفوفات بجانب‬
‫األخرى بإستخدام الدالة ) (‪ augment‬أو وضع أحد المصفوفات فوق األخرى‬
‫بإستخدام الدالة ) (‪ . stack‬و أخيراً‪ ،‬يسمح لنا ‪ Mathcad‬تحديد عدد أجزاء‬
‫المصفوفة في متغير جديد بإستخدام الدالة ) (‪. submatrix‬‬

‫إدراج صف أو عمود في مصفوفة موجودة ‪Inserting a Row or‬‬


‫‪Column into an Existing Array‬‬
‫نفترض أننا قد قمنا بإدخال مصفوفة كبيرة ثم إكتشفنا فيما بعد أننا تركنا صفا ً‪ ،‬في ھذه‬
‫الحالة ال داعي إلعادة كتابة المصفوفة الكبيرة من جديد‪ ،‬ألن ‪ Mathcad‬يوفر لنا‬
‫إمكانية إدراج واحد أو أكثر من الصفوف ‪ .‬حيث أن الصف يتم إدراجه‪ ،‬بعد الصف‬
‫الذي تم تظليله أو إختياره‪ ،‬و عليه يجب النقر على الصف الموجود مباشرة فوق الصف‬
‫الذي نريد إدراجه ‪ .‬على سبيل المثال‪ ،‬إلدراج صف بعد الصف الحاوي على القيم‬
‫‪ ، 3,9,27‬ننقر على ‪ 27‬أو ‪ 9‬أو ‪ 3‬لإلشارة الى أن الصف الجديد يوضع بعد ھذا‬
‫الصف‪:‬‬

‫‪47‬‬
‫المصفوفات‬

‫ثم نقوم بإظھار صندوق حوار إدراج المصفوفة بواسطة الضغط على المفاتيح ‪[Ctrl-‬‬
‫]‪ . M‬نضع عدد الصفوف المراد إضافتھا و ھي ھنا )‪ (1‬و عدد األعمدة )‪ (0‬و من ثم‬
‫الضغط على الزر إدراج ‪ Insert‬أو الزر ‪ OK‬كما في الشكل أدناه‪:‬‬

‫بعد ذلك نالحظ إدراج صف من مجاالت الكتابة ‪ Placeholders-Row‬في‬


‫المصفوفة‪:‬‬

‫‪ 1‬‬ ‫‪1‬‬


‫‪‬‬
‫‪1‬‬
‫‪2‬‬ ‫‪4 8 ‬‬
‫‪‬‬
‫‪G  3‬‬ ‫‪9 29‬‬
‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪4‬‬ ‫‪‬‬
‫‪‬‬ ‫‪16 64 ‬‬

‫ننقر على مجاالت الكتابة و نقوم بإدخال القيم المطلوبة ‪.‬‬

‫‪48‬‬
‫الفصل الثاني‬

‫أما بالنسبة لألعمدة‪ ،‬فعلى سبيل المثال‪ ،‬إلضافة عمودين عند الجانب األيمن من‬
‫المصفوفة األصلية ‪ ، G‬نتبع الخطوات التالية‪:‬‬
‫‪ ‬ننقر على أي عنصر في العمود الثالث ‪ ،‬حيث أن ‪ Mathcad‬سيدرج أعمدة‬
‫الى يمين ذلك العمود الذي إخترناه‪:‬‬

‫‪ ‬نضغط على المفاتيح ]‪ [Crtl-M‬و ذلك إلظھار صندوق حوار إدراج المصفوفة‬
‫‪ .‬نضع عدد األعمدة في خانة األعمدة و ھي ھنا )‪ (2‬و عدد الصفوف )‪ ، (0‬و‬
‫من ثم نضغط على الزر ‪ Insert‬كما في الشكل التالي‪:‬‬

‫و النتيجة تكون كاآلتي‪:‬‬

‫‪49‬‬
‫المصفوفات‬

‫‪1 1 1‬‬ ‫‪‬‬


‫‪‬‬ ‫‪‬‬
‫‪G ‬‬
‫‪2 4 8‬‬ ‫‪‬‬
‫‪ 3 9 29‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪ 4 16 64‬‬ ‫‪‬‬

‫و إلضافة صفوف في أعلى المصفوفة أو أعمدة الى يسار المصفوفة‪ ،‬نختار المصفوفة‬
‫بأكملھا بدالً من إختيار العنصر الواحد قبل إدراج الصفوف أو األعمدة‪:‬‬

‫و المصفوفة الجديدة تبدو بالشكل التالي‪:‬‬

‫‪50‬‬
‫الفصل الثاني‬

‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪‬‬
‫‪G ‬‬
‫‪‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪8‬‬
‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪3‬‬ ‫‪9‬‬ ‫‪29‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪4‬‬ ‫‪16‬‬ ‫‪64‬‬ ‫‪‬‬

‫إن المثال السابق يبين لنا أن ‪ Mathcad‬يوفر لنا إمكانية إضافة الصفوف واألعمدة‬
‫في آن واحد ‪.‬‬

‫حذف الصفوف أو األعمدة ‪Deleting Rows or Column‬‬


‫إن خطوات حذف الصفوف و األعمدة مشابھة لتلك الخطوات المستخدمة في إدراج‬
‫األعمدة ‪ .‬و لحذف واحد أو أكثر من الصفوف‪ ،‬نختار العنصر في الصف أو العمود‬
‫األول المراد حذفه ‪ .‬و عندما نريد حذف ثالث صفوف‪ ،‬فإن الصفوف سوف تتضمن‬
‫الصف الحاوي على العنصر الذي تم إختياره و الصفين تحت ھذا الصف ‪ .‬و بنفس‬
‫اإلسلوب‪ ،‬لحذف عمودين‪ ،‬نختار عنصراً في العمود الموجود في يسار العمود المراد‬
‫حذفه ‪ .‬إن األعمدة المحذوفة سوف تتضمن العمود الحاوي على العنصر الذي تم‬
‫إختياره و العمود الموجود في الجانب األيمن من ھذا العمود الحاوي على العنصر الذي‬
‫تم إختياره ‪ .‬على سبيل المثال‪ ،‬لحذف الصفين الموجودين في وسط المصفوفة ‪ G‬نتبع‬
‫الخطوات التالية‪:‬‬
‫‪ ‬نختار العنصر في الصف الثاني من المصفوفة‪:‬‬

‫‪51‬‬
‫المصفوفات‬

‫‪ ‬نضغط على المفاتيح ‪ Ctrl-M‬و ذلك إلظھار صندوق حوار إدراج المصفوفة‪،‬‬
‫نضع عدد الصفوف المراد حذفھا و ھي ھنا )‪ (2‬و عدد األعمدة )‪ (0‬ثم ننقر‬
‫الزر حذف ‪ Delete‬في صندوق الحوار‪:‬‬

‫نالحظ أن الصفوف الوسطية قد حذفت و المصفوفة تبدو بالشكل التالي‪:‬‬

‫‪1 1‬‬ ‫‪‬‬‫‪1‬‬


‫‪G  ‬‬ ‫‪‬‬
‫‪ 4 16 64 ‬‬

‫إختيار جزء من المصفوفة ‪Selecting a Portion of a Matrix‬‬

‫‪52‬‬
‫الفصل الثاني‬

‫في أغلب األحيان نحتاج الى التعامل مع جزء معين من المصفوفة‪ ،‬حيث أن برنامج‬
‫‪ Mathcad‬يوفر لنا ھذه الميزة من خالل عامل العمود ‪Column Operator‬‬
‫]‪ [Ctrl-6‬الذي يمكن من خالله إختيار عمود واحد ‪ .‬أما الدالة ) (‪ submatrix‬فإنھا‬
‫تسمح بإختيار جزء معين من المصفوفة بشكل عشوائي ‪.‬‬

‫إختيار عمود واحد ‪Selecting a Single Column‬‬


‫إن عامل العمود ‪ Column Operator‬الموجود في شريط أدوات المصفوفة المبين‬
‫في أدناه يوفر إمكانية إختيار عمود واحد )متجه( من مصفوفة مكونة من عدة اعمدة و‬
‫من ثم تحديد ھذا العمود الى متغير جديد ‪ .‬إن عامل العمود يمكن إدراجه ايضا ً بواسطة‬
‫الضغط على المفاتيح‪. [Ctrl-6] :‬‬

‫و يمكن بيان كيفية إستخدام ھذا العامل من خالل المثال التالي‪ .‬حيث نفترض أن لدينا‬
‫البيانات التالية‪:‬‬

‫‪53‬‬
‫المصفوفات‬

‫‪0‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪50‬‬
‫‪1‬‬ ‫‪10 48.2‬‬
‫‪2‬‬ ‫‪20 46.5‬‬
‫‪3‬‬ ‫‪30 44.8‬‬
‫‪C 4‬‬ ‫‪40 43.2‬‬
‫‪5‬‬ ‫‪50 41.6‬‬
‫‪6‬‬ ‫‪60 40.1‬‬
‫‪7‬‬ ‫‪70 38.7‬‬
‫‪8‬‬ ‫‪80 37.3‬‬
‫‪9‬‬ ‫‪90 35.9‬‬

‫‪54‬‬
‫الفصل الثاني‬

‫إن العمود األول يمثل بيانات الزمن و التي يعبّر عنھا بالدقائق ‪ minutes‬أما العمود‬
‫الثاني فإنه يمثل بيانات التركيز التي يعبّر عنھا بوحدات ‪ . mg/L‬و نظراً لكون‬
‫الوحدات مختلفة في األعمدة فھذا يعني أننا ال نستطيع ضرب المصفوفة بأكملھا‬

‫‪0 ‬‬
‫) ‪time  ( C‬‬ ‫‪ min‬‬

‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪600‬‬ ‫‪1‬‬ ‫‪10‬‬
‫‪2‬‬ ‫‪1.2·10 3‬‬ ‫‪2‬‬ ‫‪20‬‬
‫‪3‬‬ ‫‪1.8·10 3‬‬ ‫‪3‬‬ ‫‪30‬‬
‫‪time‬‬
‫‪time ‬‬ ‫‪4‬‬ ‫‪2.4·10 3‬‬ ‫‪s‬‬ ‫‪or‬‬ ‫‪‬‬ ‫‪4‬‬ ‫‪40‬‬
‫‪min‬‬
‫‪5‬‬ ‫‪3·10 3‬‬ ‫‪5‬‬ ‫‪50‬‬
‫‪6‬‬ ‫‪3.6·10 3‬‬ ‫‪6‬‬ ‫‪60‬‬
‫‪7‬‬ ‫‪4.2·10 3‬‬ ‫‪7‬‬ ‫‪70‬‬
‫‪8‬‬ ‫‪4.8·10 3‬‬ ‫‪8‬‬ ‫‪80‬‬
‫‪9‬‬ ‫‪5.4·10 3‬‬ ‫‪9‬‬ ‫‪90‬‬

‫لمجموعة من الوحدات ‪ .‬و لكن اذا فصلنا متجھات بيانات الزمن عن متجھات بيانات‬
‫التركيز فيمكننا بعد ذلك وضع الوحدات لكل متجه ‪ .‬و بھذا الخصوص يمكن إستخدام‬
‫عامل العمود إلستخالص العمود الموجود نحو اليسار )‪ (Column 0‬و نح ّدد قيم‬
‫العمود الى متغير جديد ليكن ‪ . time‬كما نستطيع وضع وحدات الزمن )الدقائق( في‬
‫نفس الوقت‪:‬‬

‫و بشكل مشابه نضع بيانات التركيز و نح ّدد لھا متغير جديد ليكن ‪ conc‬كما مبين في‬
‫أدناه ‪ .‬إن عامل العمود يعتبرإسلوبا ً جيداً في الحصول على متجه جاھز للرسم البياني‬
‫ألن ‪ Mathcad‬يمكنه رسم متجه مقابل متجه آخر ببساطة بواسطة إدخال أسماء‬

‫‪55‬‬
‫المصفوفات‬

‫المتجھات في مجال الكتابة الموجود في الرسم البياني لكل من محور ‪ x-axis‬و ‪y-‬‬
‫‪) axis‬يمكن الحصول عليه بواسطة إختيار ‪ ( Insert/graph‬كما في األشكال‬
‫التالية التي تبين العالقة مابين الزمن )‪ time(min‬و التركيز )‪. (mg/L‬‬

‫‪ ‬‬
‫‪conc  C‬‬
‫‪1 mg‬‬
‫‪‬‬
‫‪L‬‬

‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪0.05‬‬ ‫‪0‬‬ ‫‪50‬‬
‫‪1‬‬ ‫‪0.048‬‬ ‫‪1‬‬ ‫‪48.2‬‬
‫‪2‬‬ ‫‪0.047‬‬ ‫‪2‬‬ ‫‪46.5‬‬
‫‪3‬‬ ‫‪0.045‬‬ ‫‪3‬‬ ‫‪44.8‬‬
‫‪kg‬‬ ‫‪conc‬‬
‫‪conc  4 0.043‬‬ ‫‪ 4 43.2‬‬
‫‪3‬‬ ‫‪ mg ‬‬
‫‪5‬‬ ‫‪0.042 m‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪5‬‬ ‫‪41.6‬‬
‫‪6‬‬ ‫‪0.04‬‬ ‫‪ L ‬‬ ‫‪6‬‬ ‫‪40.1‬‬
‫‪7‬‬ ‫‪0.039‬‬ ‫‪7‬‬ ‫‪38.7‬‬
‫‪8‬‬ ‫‪0.037‬‬ ‫‪8‬‬ ‫‪37.3‬‬
‫‪9‬‬ ‫‪0.036‬‬ ‫‪9‬‬ ‫‪35.9‬‬

‫‪0.05‬‬

‫‪0.045‬‬

‫‪conc‬‬

‫‪0.04‬‬

‫‪0.035‬‬
‫‪0‬‬ ‫‪2000‬‬ ‫‪4000‬‬ ‫‪6000‬‬
‫‪time‬‬

‫‪56‬‬
‫الفصل الثاني‬

‫‪57‬‬
‫المصفوفات‬

‫و من خالل مالحظة الرسم البياني أعاله‪ ،‬نجد أن ھذه القيم تختلف عن القيم الموجودة‬
‫في المتجھات )‪ ، (time,conc‬و ھذا يعزى الى أن ‪ Mathcad‬دائما ً يظھر‬
‫الرسومات البيانية على أساس الوحدات األساسية ‪ ، Base Units‬فالوحدة األساسية‬
‫للتركيز ھي ‪ Kg/m3‬و للزمن ھي ‪) sec.‬ثانية( ‪ .‬و يمكننا تعديل ذلك بواسطة تقسيم‬
‫أسماء المتجھات في المحاور )‪ (x,y‬على الوحدات المرغوبة ‪ .‬ففي مثالنا‪ ،‬نقسم‬
‫التركيز ‪ conc‬على ‪ mg/L‬و الزمن ‪ time‬على ‪ min‬و بالتالي يظھر الشكل البياني‬
‫بالشكل الصحيح كما مبين في أدناه‪:‬‬

‫‪50‬‬

‫‪45‬‬
‫‪conc‬‬
‫‪ mg ‬‬
‫‪‬‬ ‫‪‬‬
‫‪ L ‬‬
‫‪40‬‬

‫‪35‬‬
‫‪0‬‬ ‫‪50‬‬ ‫‪100‬‬
‫‪time‬‬
‫‪min‬‬

‫إختيار صف واحد ‪Selecting a Single Row‬‬


‫إن برنامج ‪ Mathcad‬ال تتوفر فيه إمكانية إختيار صف واحد و لكن يمكننا إجراء‬
‫ذلك من خالل قلب وضع المصفوفة ‪ Transposing‬بأن نجعل الصفوف أعمدة و‬
‫األعمدة صفوفا ً و من ثم نختار العمود بواسطة عامل العمود ‪ .‬و بالرجوع الى‬

‫‪58‬‬
‫الفصل الثاني‬

‫المصفوفة ‪ ، G‬التي إستخدمناھا في األمثلٮة السابقة‪ ،‬نفرض أننا نريد إختيار الصف‬
‫الثالث و نح ّدده الى متغيرإسمه ‪: R3‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪‬‬ ‫‪1‬‬


‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪2‬‬ ‫‪4 8 ‬‬
‫‪G ‬‬
‫‪3‬‬ ‫‪9 27 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪4‬‬ ‫‪16 64 ‬‬

‫و ھنا نحتاج الى قلب وضع المصفوفة ‪ G‬بواسطة إستخدام عامل قلب وضع المصفوفة‬
‫‪ Transpose Operator‬من شريط أدوات المصفوفة المبين في أدناه‪:‬‬

‫‪T‬‬
‫‪G tr  G‬‬

‫‪ 1 2 3 4 ‬‬
‫‪G tr   1 4 9 16 ‬‬
‫‪ 1 8 27 64 ‬‬
‫‪‬‬ ‫‪‬‬

‫و من ثم نختار العمود الثالث أي العمود رق )‪ (2‬ألن المصفوفة تبدأ باألصل )‪ (0,0‬و‬


‫يتم ذلك بإستخدام عامل العمود‪:‬‬

‫‪59‬‬
‫المصفوفات‬

‫‪2‬‬
‫‪R3tr  G tr‬‬

‫‪ 3‬‬ ‫‪‬‬


‫‪R3 tr   9‬‬ ‫‪‬‬
‫‪ 27‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬

‫و أخيراً تغيير وضع النتيجة الى متجه صف بواسطة تغيير وضع ‪:R3tr‬‬

‫‪T‬‬
‫‪R3  R3tr‬‬

‫) ‪R3  ( 3 9 27‬‬

‫إن ھذه العملية المتعددة الخطوات يمكن إختصارھا الى خطوة واحدة بإستخدام التعبير‬
‫التالي‪:‬‬

‫‪60‬‬
‫الفصل الثاني‬

‫‪2 T‬‬
‫‪ T‬‬
‫‪R3  G‬‬

‫) ‪R3  ( 3 9 27‬‬

‫و ھناك إسلوب آخر يستخدم بشكل شائع إلستخالص الصف و ھو يعمل بمثابة عامل‬
‫المصفوفة ‪ row operator‬حيث يمكن التعبير عليه بالشكل التالي‪:‬‬

‫‪r T‬‬
‫‪row_operator( A  r)  A‬‬ ‫‪ T‬‬
‫و ھذه الدالة يمكن إستخدامھا في إستخالص الصف الثالث من المصفوفة )‪ (G‬بالشكل‬
‫التالي‪:‬‬

‫)‪R3  row_operator( G  2‬‬

‫) ‪R3  ( 3 9 27‬‬

‫إختيار مجموعة معينة من المصفوفة ‪Choosing a Subset of a‬‬


‫‪Matrix‬‬

‫‪61‬‬
‫المصفوفات‬

‫الدالة‬ ‫نستخدم‬ ‫المصفوفة‬ ‫وضع‬ ‫تغيير‬ ‫لطريقة‬ ‫بديل‬ ‫كإسلوب‬


‫)‪ . submatrix(A,rstart,rstop,cstart,cstop‬إن ھذه الدالة تستخدم مجموعة من‬
‫المعامالت التي تساعد في تحديد الجزء المراد إستخالصه من المصفوفة بشكل دقيق‬
‫حيث أن‪:‬‬
‫‪ ‬المعامل األول )‪ (A‬ھو إسم المصفوفة المراد إستخالص الجزء منھا ‪.‬‬
‫‪ ‬أما معامالت البدء ‪ start‬و اإلنتھاء ‪ stop‬لكل من الصفوف )‪ (r‬و األعمدة‬
‫)‪ (c‬فإنھا يجب أن تكون أعداد صحيحة ‪.‬‬

‫و يجب التنبه الى أن ‪ Mathcad‬يتعامل مع العنصر األول من المصفوفة و الموجود‬


‫في الزاوية اليسرى العليا على أنه ‪ ، A0,0‬و عندما نريد البدء مع عنصر فإن ‪ rstart‬و‬
‫‪ cstart‬كالھما سيكون صفراً و ليس واحد ‪.‬‬
‫و إلختيار الصف الثالث من المصفوفة )‪ (G‬بإستخدام الدالة ) (‪ submatrix‬نكتب‬
‫التعبير التالي‪:‬‬

‫)‪R3  submatrix( G  2  2  0  2‬‬

‫) ‪R3  ( 3 9 27‬‬

‫إن ھذه المعامالت تخبر الدالة ‪ submatrix‬بالبدء بالمصفوفة ‪ G‬و من ثم البدء‬


‫بالصف الثالث و اإلنتھاء بالصف الثالث ثم البدء بالعمود األول و اإلنتھاء بالعمود‬
‫الثالث ‪ .‬إن ھذه الدالة يمكن إستخدامھا أيضا ً في إستخالص أجزاء معينة من المصفوفة‬

‫)‪TL4  submatrix( G  0  1  0  1‬‬

‫‪ 1 1  62‬‬
‫‪TL4  ‬‬ ‫‪‬‬
‫‪2 4‬‬
‫الفصل الثاني‬

‫‪ ،‬على سبيل المثال‪ ،‬يمكن إستخالص العناصر األربعة في الزاوية اليسرى العليا في‬
‫المصفوفة )‪:(G‬‬
‫دمج مصفوفتين ‪Combining Two Matrices‬‬
‫ھناك دالتين في ‪ Mathcad‬يمكن إستخدامھا في دمج المصفوفات ‪ ،‬ھما الدالة‬
‫) (‪ augment‬و الدالة ) (‪ . stack‬حيث أن الدالة ) (‪ augment‬تقوم بدمج‬
‫المصفوفات جنبا ً الى جنب ‪ .‬أما الدالة ) (‪ stack‬فإنھا تقوم بتكديس المصفوفات أي‬
‫وضع إحدى المصفوفات فوق األخرى كما موضح في األمثلة التالية‪:‬‬

‫‪ 1‬‬ ‫‪2‬‬ ‫‪3‬‬


‫‪‬‬ ‫‪ 7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪‬‬
‫‪A   2‬‬ ‫‪3‬‬ ‫‪4 ‬‬ ‫‪B   8‬‬ ‫‪9‬‬ ‫‪10 ‬‬
‫‪3‬‬ ‫‪‬‬ ‫‪9‬‬ ‫‪‬‬
‫‪‬‬ ‫‪4‬‬ ‫‪5 ‬‬ ‫‪‬‬ ‫‪10‬‬ ‫‪11 ‬‬

‫‪Aug  augment‬‬ ‫) ‪(A  B‬‬

‫‪ 1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬


‫‪‬‬
‫‪Aug   2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10 ‬‬
‫‪3‬‬ ‫‪‬‬
‫‪‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪11 ‬‬

‫) ‪Stk  stack ( A  B‬‬

‫‪‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪‬‬


‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪‬‬
‫‪‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪‬‬
‫‪Stk  ‬‬ ‫‪‬‬
‫‪‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪‬‬
‫‪‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪11‬‬ ‫‪‬‬

‫‪63‬‬
‫المصفوفات‬

‫العمليات على المصفوفات ‪Matrices Operations‬‬


‫إن العمليات على المصفوفات مثل الجمع و الضرب تتطلب توفر شروط معينة و‬
‫خطوات معينة يجب إتباعھا أي أن لكل عملية شروط و خطوات يجب إتباعھا إلجراء‬
‫تلك العملية على المصفوفات ‪.‬‬

‫جمع و طرح المصفوفات ‪Matrices Addition & Subtraction‬‬


‫الشرط ‪Requirement‬‬
‫المصفوفات المراد جمعھا أو طرحھا يجب أن تكون متساوية الحجم ‪.‬‬
‫الخطوات ‪Procedure‬‬
‫)جمع عنصر مع عنصر(‪ :‬إن جمع و طرح المصفوفات بإستخدام ‪ Mathcad‬يت‬
‫بإسلوب مشابه لجمع و طرح األعداد‪:‬‬

‫‪ 1 2 3 ‬‬ ‫‪ 7 8 9 ‬‬


‫‪A   2 3 4 ‬‬ ‫‪B   8 9 10 ‬‬
‫‪3 4 5‬‬ ‫‪ 9 10 11 ‬‬
‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪Sum  A  B‬‬ ‫‪Dif  Sum  B‬‬

‫‪ 8 10 12 ‬‬ ‫‪ 1 2 3 ‬‬


‫‪Sum   10 12 14 ‬‬ ‫‪Dif   2 3 4 ‬‬
‫‪ 12 14 16 ‬‬ ‫‪3 4 5‬‬
‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫ضرب المصفوفة ‪Matrix Multiplication‬‬


‫الشرط ‪Requirement‬‬

‫‪64‬‬
‫الفصل الثاني‬

‫ المراد ضربھا يجب أن تكون‬Inner Dimensions ‫إن األبعاد الداخلية للمصفوفة‬


‫ فإنھا تح ّدد حجم ناتج‬Product Dimensions ‫ أما األبعاد الخارجية‬. ‫متساوية‬
:‫المصفوفة و عليه يجب أن يكون لدينا‬
D2G3GE3G2 inner dimensions are equal (3)
Product dimensions will be 2G2

Procedure ‫الخطوات‬
‫ يتضمن ضرب أعمدة المصفوفة األولى في‬Cross Product ‫إن الضرب التصالبي‬
:‫ أي أن ضرب المصفوفة يكون كاآلتي‬،‫صفوف المصفوفة الثانية‬

Prod 0,0  1  10   ( 2  12)  (3  14)  76


Prod 0,1  1  11  2  13  3  15   82
Prod 1,0  4  10   5  12   6  14   184
Prod 1,1  4  11  5  13  6  15   199

 10 11 
1 2 3
D    E   12 13 
4 5 6  14 15 
 

Prod  D  E

 76 82
Prod   
 184 199 
65
‫المصفوفات‬

‫ضرب عنصر مع عنصر ‪Element-by-Element Multiplication‬‬


‫بعض األحيان قد النحتاج الى الضرب التصالبي ‪ Cross Multiplication‬و بدالً‬
‫من ذلك نحتاج الى ضرب كل عنصر في المصفوفة األولى مع العنصر المناظر في‬
‫المصفوفة الثانية ‪ .‬إن عملية ضرب عنصر مع عنصر تتم بواسطة ‪ Mathcad‬من‬
‫خالل إستخدام عامل اإلتجاھية ‪ Vectorize Operator‬في شريط أدوات المصفوفة‬
‫المبين في أدناه‪:‬‬

‫الشرط ‪Requirement‬‬
‫لغرض إجراء عملية ضرب عنصر مع عنصر للمصفوفات‪ ،‬فإن ھذه المصفوفات يجب‬
‫أن تكون متساوية الحجم ‪.‬‬

‫الخطوات ‪Procedure‬‬
‫ضرب كل عنصر في المصفوفة األولى مع العنصر المناظر في المصفوفة الثانية‪:‬‬

‫‪66‬‬
‫الفصل الثاني‬

‫‪ 1 2 3 ‬‬ ‫‪ 7 8 9 ‬‬


‫‪A   2 3 4 ‬‬ ‫‪B   8 9 10 ‬‬
‫‪3 4 5‬‬ ‫‪ 9 10 11 ‬‬
‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬
‫)‪ElemMult  ( A  B‬‬

‫‪ 7 16 27 ‬‬
‫‪ElemMult   16 27 40 ‬‬
‫‪ 27 40 55 ‬‬
‫‪‬‬ ‫‪‬‬

‫تبديل وضع المصفوفة ‪Transpostion‬‬


‫يتم بإستخدام عامل تبديل أوتغيير وضع المصفوفة المبين في أدناه‪:‬‬

‫‪67‬‬
‫المصفوفات‬

‫الشرط ‪Requirement‬‬
‫كل مصفوفة يمكن أن تخضع لعملية تغيير الوضع ‪. Transposition‬‬
‫الخطوات ‪Procedure‬‬
‫تغيير وضع المصفوفة بحيث تصبح الصفوف أعمدة و األعمدة صفوفاً‪،‬‬
‫‪: Transj,i=Ci,j‬‬

‫‪1 1 ‬‬
‫‪2 8 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪C   3 27 ‬‬
‫‪ 4 64 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪5‬‬ ‫‪125‬‬ ‫‪‬‬
‫‪T‬‬
‫‪Trans  C‬‬

‫‪1 2 3 4 5 ‬‬
‫‪Trans  ‬‬ ‫‪‬‬
‫‪ 1 8 27 64 125 ‬‬

‫عكس )قلب( المصفوفة ‪Matrix Inversion‬‬


‫عندما نضرب مصفوفة معكوسة في المصفوفة األصلية نحصل على مصفوفة متناظرة‬
‫‪. Identity Matrix‬‬
‫الشرط ‪Requirement‬‬
‫فقط المصفوفات المربعة ‪ Square Matrices‬يمكن أن تخضع الى عملية القلب‬
‫‪ . Inversion‬كما أن المصفوفة يجب ان التكون من النوع الشاذ ‪Nonsingular‬‬
‫‪. Matrix‬‬
‫الخطوات ‪Procedure‬‬

‫‪68‬‬
‫الفصل الثاني‬

‫إن عكس أو قلب المصفوفة أمر في غاية السھولة بإستخدام برنامج ‪، Mathcad‬‬
‫حيث كل الذي نحتاجه ھو رفع المصفوفة الى األس )‪ (-1‬بواسطة عامل عكس أو قلب‬
‫المصفوفة ‪ Inverse Operator‬المبين في أدناه في شريط أدوات المصفوفة‪:‬‬

‫‪ 2 3 5 ‬‬
‫‪F   7 2 4 ‬‬
‫‪ 8 11 6 ‬‬
‫‪‬‬ ‫‪‬‬

‫‪ 0.152‬‬ ‫‪0.175‬‬ ‫‪9.479  10‬‬


‫‪3‬‬
‫‪1‬‬
‫‪‬‬ ‫‪‬‬
‫‪F‬‬ ‫‪  0.047‬‬ ‫‪0.133‬‬ ‫‪0.128‬‬ ‫‪‬‬
‫‪‬‬ ‫‪3‬‬
‫‪‬‬
‫‪‬‬ ‫‪0.289‬‬ ‫‪9.479‬‬ ‫‪‬‬ ‫‪10‬‬ ‫‪‬‬‫‪0.081‬‬ ‫‪‬‬

‫و عندما اليستطيع ‪ Mathcad‬قلب أو عكس المصفوفة فإنه يظھر رسالة تبين أن‬
‫المصفوفة من النوع الشاذ ‪ . Singular‬و جدير بالذكر‪ ،‬أن اإلستخدام الشائع لعملية‬
‫عكس المصفوفة ھو حل أنظمة المعادالت الخطية ‪ .‬حيث أن نظام المعادالت الخطية‬
‫يمكن أن يمثل بشكل مصفوفة مكونة من‪:‬‬
‫‪ ‬معامالت المصفوفة )‪Coefficients Matrix (C‬‬
‫‪ ‬متجه المجاھيل )‪Unknowns Vector (X‬‬
‫‪ ‬متجه الجانب األيمن من المعادلة )‪Right-Hand Side Vector (r‬‬
‫]‪[C] [x] = [r‬‬

‫‪69‬‬
‫المصفوفات‬

‫إن أحد الطرق الشائعة المستخدمة في حل ھذه المعادالت ھو عكس مصفوفة المعامالت‬
‫و ضربھا في متجه الجانب األيمن و ذلك لحساب قيم المجاھيل ]‪: [X‬‬
‫]‪[X]= [C]-1 [r‬‬

‫أما إذا كانت مصفوفة المعامالت من النوع الشاذ ‪ Singular‬أي اليمكن عكس‬
‫المصفوفة فھذا يعني عدم وجود حل لمجموعة المعادالت و عندما يكون ھناك حل فھذا‬
‫يعني إمكانية عكس أو قلب المصفوفة ‪.‬‬

‫المحددة ‪Determinant‬‬
‫المحددة يمكن الحصول عليھا من شريط أدوات أدوات المصفوفة المبين في أدناه ‪ .‬إن‬
‫المحددة ھي القيمة العددية ‪ Scalar Value‬التي يمكن حسابھا من المصفوفة المربعة‬
‫‪ .‬حيث يمكن حساب المحددة بإستخدام برنامج ‪ Mathcad‬بواسطة عامل المحددة‬
‫‪ Determinant Operator‬الموجود في شريط أدوات المصفوفة التالي‪:‬‬

‫بالنسبة للمصفوفة )‪ 1G1 (Single Value‬تمثل المحددة قيمة المصفوفة ‪ .‬إن‬


‫الخطوط العمودية )| |( تستخدم لإلشارة الى المحددة كما في المثال أدناه‪:‬‬

‫‪70‬‬
‫الفصل الثاني‬

‫أما بالنسبة للمصفوفة ‪ 2G2‬فإن المحددة تحسب بواسطة الضرب القطري للعناصر و‬
‫من ثم طرح النتائج‪:‬‬

‫‪A‬‬ ‫‪A 01 ‬‬


‫‪A :  00‬‬ ‫‪‬‬
‫‪ A 10 A 11 ‬‬
‫‪D  A  A 00 * A 11  A 10 * A 01‬‬

‫أما بالنسبة للمصفوفات الكبيرة فإن المحددة يمكن إيجادھا بواسطة تقسيم المصفوفة الى‬
‫وحدات صغيرة تسمى العوامل المشتركة ‪ . Cofactors‬حيث يتم حساب المحددة لكل‬
‫عامل من العوامل المشتركة و من ثم تجمع النتائج ‪ .‬و المعادلة العامة لحساب المحددة‬
‫ھي‪:‬‬

‫)‪D  A i0  C i0  A i1C i1  ...  A i(n 1) C i(n 1) i  0...(n - 1‬‬

‫حيث ان قيم ‪ C‬تمثل قيم العوامل المشتركة ‪ .‬فبالنسبة للمصفوفة ‪ 3G3‬يمكن حساب‬
‫العوامل المشتركة كاآلتي‪:‬‬

‫‪ ‬العامل المشترك ‪: C00‬‬

‫‪A00‬‬ ‫‪A01‬‬ ‫‪A02‬‬


‫‪A10‬‬ ‫‪A11‬‬ ‫‪A12‬‬
‫‪A20‬‬ ‫‪A21‬‬ ‫‪A22‬‬

‫) ‪C 00   (A 11 * A 22  A 21 * A 12‬‬
‫‪71‬‬
‫المصفوفات‬

‫‪ ‬العامل المشترك ‪: C10‬‬

‫‪A00‬‬ ‫‪A01‬‬ ‫‪A02‬‬


‫‪A10‬‬ ‫‪A11‬‬ ‫‪A12‬‬
‫‪A20‬‬ ‫‪A21‬‬ ‫‪A22‬‬

‫) ‪C 10   (A 01 * A 22  A 21 * A 02‬‬

‫‪ ‬العامل المشترك ‪: C20‬‬

‫‪A00‬‬ ‫‪A01‬‬ ‫‪A02‬‬


‫‪A10‬‬ ‫‪A11‬‬ ‫‪A12‬‬
‫‪A20‬‬ ‫‪A21‬‬ ‫‪A22‬‬

‫) ‪C 20   (A 01 * A  A 11 * A 02‬‬
‫‪12‬‬

‫إن اإلشارة أمام كل عامل مشترك تبدل مابين الموجب و السالب إعتماداً على موضع‬
‫العامل المشترك في المصفوفة و كما يلي‪:‬‬

‫‪+‬‬ ‫‪-‬‬ ‫‪+‬‬

‫‪-‬‬ ‫‪+‬‬ ‫‪-‬‬


‫‪+‬‬ ‫‪-‬‬ ‫‪+‬‬

‫‪72‬‬
‫الفصل الثاني‬

‫وبإستخدام األعداد في برنامج ‪ Mathcad‬تبدو العملية كاآلتي‪:‬‬

‫‪ 2 3 4 ‬‬
‫‪F   7 2 5 ‬‬
‫‪ 8 11 6 ‬‬
‫‪‬‬ ‫‪‬‬

‫‪C0  0  2  6  11  5‬‬ ‫‪C0  0  43‬‬


‫)‪C1  0  ( 3  6  11  4‬‬ ‫‪C1  0  26‬‬

‫‪C2  0  3  5  2  4‬‬ ‫‪C2  0  7‬‬


‫‪D  F0  0  C0  0  F1  0  C1  0  F2  0  C2  0‬‬
‫‪D  152‬‬
‫‪F  152‬‬

‫أو يمكننا إستخدام عامل الحددة كما مبين في أعاله‪ . |F|=152 :‬في المثال أعاله تم‬
‫حساب المحددة بإستخدام ‪ Cofactors‬بالنسبة للعناصر الموجودة في العمود األيسر‪،‬‬
‫و يمكننا إستخدام ‪ Cofactors‬بالنسبة للعناصر في أي عمود أو صف لحساب‬
‫المحددة ‪.‬‬

‫و جدير بالذكر‪ ،‬بأن المحددة يمكن إستخدامھا في عدد كبير من التطبيقات الھندسية إال‬
‫أن التطبيق األكثر شيوعا ً‪ ،‬ھو إستخدامھا في معرفة و إكتشاف فيما إذا كان ھناك حل‬
‫وحيد ‪ Unique Solution‬لنظام المعادالت اآلنية الخطية ‪ .‬فإذا كانت محددة‬

‫‪73‬‬
‫المصفوفات‬

‫مصفوفة المعامالت غير صفرية ‪ Non-Zero‬فھذا يعني أن نظام المعادالت لھا حل‬
‫وحيد ‪ .‬على سبيل المثال‪ ،‬يمكننا تفحص فيما إذا كانت مصفوفة المعامالت التالية يمكن‬
‫حلھا و ذلك من خالل حساب المحددة لھا‪:‬‬

‫‪ 0.02 0.12 0.01 ‬‬


‫‪C   0 0.01 0.99 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪ 0.98 0.87 0 ‬‬

‫‪C  0.099‬‬

‫بما أن قيمة المحددة غير صفرية ‪ Nonzero‬فھذا يعني وجود حل لنظام المعادالت ‪.‬‬

‫‪Matrix Functions‬‬ ‫دوال المصفوفة‬


‫ھناك عدة دوال يمكن اإلستفادة منھا خالل التعامل مع المصفوفات‪ ،‬مثل )‪ min(A‬و‬
‫)‪ max(A‬التي إستخدامھا في تحديد القيم الدنيا و العليا في المصفوفات‪:‬‬

‫‪74‬‬
‫الفصل الثاني‬

‫‪1 1 ‬‬
‫‪2 8 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪C   3 27 ‬‬
‫‪ 4 64 ‬‬ ‫‪max ( C)  125‬‬
‫‪‬‬ ‫‪‬‬ ‫‪min ( C)  1‬‬
‫‪ 5 125 ‬‬

‫‪3‬‬
‫‪ ‬‬
‫‪a ‬‬
‫‪2‬‬ ‫‪max ( a)  7‬‬
‫‪7‬‬ ‫‪min ( a)  2‬‬
‫‪ ‬‬
‫‪4‬‬

‫أضف الى ذلك‪ ،‬الدالة )‪ cols(A‬التي تعيد عدد األعمدة في المصفوفة ‪ A‬و الدالة‬
‫)‪ rows(A‬التي تعيد عدد الصفوف في المصفوفة ‪ . A‬و الدالة )‪ length(v‬التي تعيد‬
‫عدد العناصر في المتجه ‪ . Vector‬و الدالة )‪ last(v‬التي تعيد دليل العنصر األخير‬
‫في المتجه ‪ .‬نالحظ بأن الدوال )‪ rows(A‬و )‪ cols(A‬يمكنھا التعامل مع المصفوفات‬
‫و المتجھات بينما الدوال )‪ length(v‬و )‪ last(v‬تتعامل مع المتجھات فقط ‪ .‬إن القيمة‬
‫المعادة من الدالة )‪ last(v‬سوف تكون أقل من القيمة المعادة من الدالة )‪length(v‬‬
‫بمقدار واحد طالما كان أصل المصفوفة ‪ Matrix Origin‬صفراً‪:‬‬

‫‪75‬‬
‫المصفوفات‬

‫‪1 1 ‬‬
‫‪2 8 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪C   3 27  rows ( C)  5‬‬
‫‪ 4 64  cols ( C)  2‬‬
‫‪‬‬ ‫‪‬‬
‫‪ 5 125 ‬‬

‫‪3‬‬
‫‪ ‬‬
‫‪a ‬‬
‫‪‬‬ ‫‪2‬‬
‫‪rows ( a)  4‬‬
‫‪7‬‬ ‫‪cols ( a)  1‬‬
‫‪ ‬‬ ‫‪length ( a)  4‬‬
‫‪4‬‬
‫‪last ( a)  3‬‬
‫‪a3  4‬‬

‫‪Sorting‬‬ ‫الفرز‬
‫ھناك ثالث دوال يمكن إستخدامھا ألغراض فرز المتجھات ‪ .‬حيث أن الدالة )‪sort(v‬‬
‫ترتب عناصر المتجه بترتيب تصاعدي ‪ .‬و يمكننا دمج االلة )‪ sort(v‬مع الدالة‬
‫)‪ reverse(v‬للحصول على عناصر المتجه مرتبة بترتيب تنازلي‪:‬‬

‫‪76‬‬
‫الفصل الثاني‬

‫‪3‬‬
‫‪ ‬‬
‫‪a ‬‬
‫‪‬‬ ‫‪2‬‬
‫‪7‬‬
‫‪ ‬‬
‫‪4‬‬
‫)‪a1  sort ( a‬‬ ‫‪ ‬‬
‫‪a2  reverse a1‬‬

‫‪2‬‬ ‫‪7‬‬
‫‪ ‬‬ ‫‪ ‬‬
‫‪a1 ‬‬
‫‪‬‬ ‫‪3‬‬
‫‪4‬‬
‫‪4‬‬ ‫‪a2 ‬‬
‫‪3‬‬
‫‪ ‬‬ ‫‪ ‬‬
‫‪7‬‬ ‫‪2‬‬

‫نالحظ بأن الدالة ‪ reverse‬ليست دالة فرز ألنھا التؤدي و ظيفة الفرز و إنما تقوم‬
‫بعكس ترتيب العناصر في المتجه ‪ .‬و ھناك دالتين يمكن إستخدامھما ألغراض الفرز‬
‫في المصفوفات ھما‪ csort(A,n) :‬و )‪ . rsort(A,n‬إن الدالة ترتب اعمدة المصفوفة‬
‫‪ A‬بحيث أن العناصر في العمود ‪ n‬سوف تكون في ترتيب تصاعدي و لغرض فرز‬
‫المصفوفة ‪ H‬في العمود األيسر نستخدم الدالة )‪ csort(H,0‬كما مبين في أدناه‪:‬‬

‫‪77‬‬
‫المصفوفات‬

7 9 2
 
H 
4 8 1
8 2 0
 
3 7 4
3 7 4
 
H1  csort ( H  0) H1 
 4 8 1
7 9 2
 
8 2 0

‫ في العمود الموجود في أقصى اليمين نستخدم الدالة‬H ‫و لغرض فرز المصفوفة‬


: csort(H,2)

7 9 2
 
H 
4 8 1
8 2 0
 
3 7 4
8 2 0
 
H2  csort ( H  2) H2 
4 8 1
7 9 2
 
3 7 4

78
‫الفصل الثاني‬

‫و إلعادة ترتيب األعمدة بحيث أن العناصر في الصف العلوي تكون في ترتيب‬


‫تصاعدي‪ ،‬نستخدم الدالة )‪ rsort(H,0‬كما مبين في أدناه‪:‬‬

‫‪7‬‬ ‫‪9 2‬‬


‫‪‬‬ ‫‪‬‬
‫‪H ‬‬
‫‪4‬‬ ‫‪8 1‬‬
‫‪8‬‬ ‫‪2 0‬‬
‫‪‬‬ ‫‪‬‬
‫‪3‬‬ ‫‪7 4‬‬
‫‪2‬‬ ‫‪7 9‬‬
‫‪‬‬ ‫‪‬‬
‫)‪H3  rsort ( H  0‬‬ ‫‪H3 ‬‬
‫‪1‬‬ ‫‪4 8‬‬
‫‪0‬‬ ‫‪8 2‬‬
‫‪‬‬ ‫‪‬‬
‫‪4‬‬ ‫‪3 7‬‬

‫الخالصة ‪Summary‬‬

‫أساسيات المصفوفة ‪Matrix Fundamentals‬‬

‫الدالة ‪ORIGIN‬‬
‫تغ ّير قيمة بدأ أول عنصر في المصفوفة ) الحالة اإلفتراضية ھي ‪. (0,0‬‬

‫الضغط على المفاتيح ]‪[Ctrl-M‬‬


‫يؤدي الى فتح صندوق حوار المصفوفة و ذلك إلنشاء المصفوفة و إدراج أو حذف‬
‫الصفوف و األعمدة ‪.‬‬

‫الدالة )‪Matrix(r,c,f‬‬
‫تؤدي الى إنشاء مصفوفة مكونة من صفوف ‪ r‬و أعمدة ‪ c‬بإستخدام الدالة ‪. f‬‬

‫الدالة )‪Identity(C‬‬

‫‪79‬‬
‫المصفوفات‬

‫تؤدي الى إنشاء مصفوفة متناظرة )متطابقة( مع وجود ‪ C‬من الصفوف و األعمدة ‪.‬‬

‫المفتاح ]‪[Ctrl-6‬‬
‫يؤدي الى إختيار عمود واحد من المصفوفة ‪.‬‬

‫الدالة )‪Submatrix(A,rstart,rstop,cstart,cstop‬‬
‫تؤدي وظيفة إستخالص جزء من المصفوفة ‪.‬‬

‫الدالة )‪Augment(A1,A2‬‬
‫تدمج المصفوفتين ‪ A1‬و ‪ A2‬جنبا ً الى جنب ‪.‬‬

‫الدالة )‪Stack(A1,A2‬‬
‫تضع المصفوفة ‪ A1‬فوق المصفوفة ‪. A2‬‬

‫العمليات على المصفوفات ‪Matrix Operatios‬‬

‫جمع المصفوفات‬ ‫‪+‬‬

‫ضرب المصفوفات‬ ‫]‪[Shift-8‬‬


‫ضرب المصفوفة عنصر مع عنصر‬ ‫‪Y‬‬
‫إيجاد المحددة للمصفوفة‬ ‫|‪|M‬‬

‫تغيير وضع المصفوفة بحيث يصبح الصف عموداً و العمود صفا ً ‪.‬‬ ‫‪T‬‬

‫عكس )قلب( المصفوفة ‪. Inversion‬‬ ‫]‪[shift-6‬‬

‫فرز المتجه بترتيب تصاعدي ‪.‬‬ ‫)‪Sort(v‬‬

‫)‪ Reverse(v‬عكس ترتيب المتجه )‪ (v‬و ھذه العملية تستخدم بعد عملية الفرز‬
‫للحصول على متجه ذو رتيب تنازلي ‪.‬‬

‫)‪ csort(A,n‬فرز المصفوفة ‪ A‬بحيث تكون القيم في العمود ‪ n‬مرتبة ترتيبا ً تصاعديا ً‬
‫‪.‬‬

‫‪80‬‬
‫الفصل الثاني‬

‫)‪ rsort(A,n‬فرز المصفوفة ‪ A‬بحيث تكون القيم في العمود ‪ n‬مرتبة ترتيبا ً تنازليا ً ‪.‬‬

‫‪81‬‬
‫حل المعادالت الخطية اآلنية‬

‫مقدمة ‪Introduction‬‬
‫حلول المعادالت الخطية اآلنية الجبرية يعني إيجاد قيم المجاھيل التي تحقق نظام‬
‫المعادالت ‪ .‬و ھناك مجموعة كبيرة من الطرق المستخدمة في حل ھذه المنظومة من‬
‫المعادالت مثل‪:‬‬
‫‪ (1‬الحل بإستخدام المعكوس ‪. Using Inverse‬‬
‫‪ (2‬طريقة الحذف لكاوس ‪. Gauss Elemination‬‬
‫‪ (3‬طريقة الحذف لكاوس‪-‬جوردن ‪. Gauss-Jordan‬‬
‫‪ (4‬طريقة التحليل المثلثي ‪. Triangular Decomposition‬‬
‫‪ (5‬طريقة جولسكي ‪. Choleski’s Method‬‬
‫‪ (6‬طريقة جاكوب ‪. Jacob’s Method‬‬
‫‪ (7‬طريقة كاوس‪-‬سيدل ‪. Gauss-Seidel Method‬‬
‫إن الصيغة العامة للمعادالت الخطية للمعادالت الخطية )‪ (AX=B‬يعبّر عنھا كاآلتي‪:‬‬

‫‪a 11 x 1  a 12 x 2  ...  a 1j x j  ...  a 1n x n  b1‬‬


‫‪a 21 x 1  a 22 x 2  ...  a 2j x j  ...  a 2n x n  b 2‬‬
‫‪.................................................................‬‬
‫‪a i1 x 1  a i2 x 2  ...  a ij x j  ...  a in x n  b i‬‬
‫‪.................................................................‬‬
‫‪a n1 x 1  a n2 x 2  ...  a nj x j  ...  a nn x n  b1‬‬

‫‪88‬‬
‫الفصل الثالث‬

‫إن برنامج ‪ Mathcad‬يقدم لنا عدة طرق لحل نظام المعادالت الخطية‪ ،‬و ھذه الطرق‬
‫تتضمن‪:‬‬

‫‪ ‬طريقة الكلمة الدليلية للحل ‪. Solve Keyword Method‬‬


‫‪ ‬طريقة كتلة الحل ‪. Solve Block Method‬‬
‫‪ ‬طريقة المعكوس )مقلوب المصفوفة( ‪. The Inverse Method‬‬
‫‪. The lsolve(A,B) Method‬‬ ‫‪ ‬طريقة الدالة )‪lsolve (A,B‬‬

‫طريقة الكلمة الدليلية للحل ‪Solve Keyword Method‬‬


‫إن المجموعة النموذجية للمعادالت الخطية الثالثية يمكن أن تبدو بالشكل التالي‪:‬‬

‫‪3x  y  z  11‬‬
‫‪x  3y  z  13‬‬
‫‪x  y  3z  11‬‬

‫إن إستخدام ھذه الطريقة في حل نظام المعادالت أعاله مبين في الشكل التالي‪:‬‬

‫‪89‬‬
‫حل المعادالت الخطية اآلنية‬

‫‪ 3  x  y  z 11 ‬‬ ‫‪ x ‬‬


‫‪ 34 16 9 ‬‬
‫‪ x  3  y  z 13  solve   y   ‬‬ ‫‪‬‬
‫‪ x  y  3  z 11 ‬‬ ‫‪z ‬‬ ‫‪‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7 ‬‬
‫‪‬‬ ‫‪‬‬ ‫‪ ‬‬

‫) ‪ 34 16 9  float  4  ( 4.857 2.286 1.286‬‬


‫‪ 7 7 7 ‬‬
‫‪‬‬ ‫‪‬‬

‫‪Thus the values of Unknown Vector are:‬‬


‫‪x=4.857‬‬
‫‪y=2.286‬‬
‫‪z=-1.286‬‬
‫‪Check:‬‬
‫‪34‬‬ ‫‪16‬‬ ‫‪ 9   11‬‬
‫‪3 ‬‬ ‫‪‬‬ ‫‪ ‬‬
‫‪7‬‬ ‫‪7‬‬ ‫‪ 7‬‬

‫و ھذه الطريقة تتضمن الخطوات التالية‪:‬‬

‫‪ ‬النقر على آيقونة ‪ Matrix‬في شريط أدوات المصفوفة و من ثم تعريف‬


‫مصفوفة مكونة من عمود واحد و عدد معين من الصفوف يعتمد على عدد‬
‫المجاھيل في نظام المعادالت ‪.‬‬
‫‪ ‬يتم إدخال كل معادلة في مجاالت الكتابة للمصفوفة و من ثم كتابة عالمة‬
‫المساواة المنطقية ‪ Boolean‬من خالل الضغط على المفاتيح ]=‪[Ctrl+‬‬
‫أومن خالل شريط أدوات ‪ Boolean‬المبين في أدناه‪:‬‬

‫‪90‬‬
‫الفصل الثالث‬

‫‪ ‬طباعة الكلمة المفتاحية ‪ solve‬من شريط األدوات الرمزي ‪Symbolic‬‬


‫‪ Toolbar‬كما مبين في أدناه‪:‬‬

‫‪ ‬في مجال الكتابة يتم إدخال أجوبة المصفوفة من خالل الخطوات التالية‪:‬‬

‫‪ (1‬النقر على على أيقونة المصفوفة في شريط أدوات المصفوفة ‪.‬‬


‫‪ (2‬تعريف المصفوفة بحيث تكون مكونة من عمود واحد و ثالث‬
‫صفوف يتم فيھا إدخال متجه المجاھيل ‪. x,y,z‬‬
‫‪ (3‬ننقر على السھم ‪ Y‬من شريط األدوات الرمزي و من ثم نضغط على‬
‫المفتاح ‪ ، Enter‬بعد ذلك نالحظ ظھور الحلول )قيم ‪ ( x,y,z‬في‬
‫صف المصفوفة الناتجة كمامبين في الشكل أعاله ‪.‬‬
‫‪ (4‬و يمكن الحصول على الحلول بالصيغة العشرية ‪Decimal Form‬‬
‫بواسطة الدالة ‪. float‬‬

‫‪91‬‬
‫حل المعادالت الخطية اآلنية‬

‫طريقة كتلة الحل ‪The Solve Block Method‬‬


‫إن طريقة كتلة الحل تستخدم الكلمة المفتاحية ‪ Given‬و ذلك للحصول على كتلة‬
‫‪ Block‬تتضمن نظام من المعادالت ‪ ،‬كما يتم إستخدام الدالة ‪ Find‬للحصول على‬
‫حلول المعادالت ‪ .‬إن الخطوات التالية تبين إستخدام طريقة ‪ Solve Block‬في لوحة‬
‫عمل ‪ Mathcad‬المبينة في الشكل أدناه‪:‬‬

‫‪x  1‬‬

‫‪y  1‬‬

‫‪z  1‬‬
‫‪Given‬‬

‫‪3 x  y  z‬‬ ‫‪11‬‬

‫‪x  3 y  z‬‬ ‫‪13‬‬

‫‪x  y  3 z‬‬ ‫‪11‬‬

‫‪v  Find‬‬ ‫)‪(x  y  z‬‬

‫‪ 4.857‬‬ ‫‪‬‬


‫‪v   2.286‬‬ ‫‪‬‬
‫‪  1.286‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪92‬‬
‫الفصل الثالث‬

‫‪ ‬نح ّدد قيمة لكل حل من المعادلة أي نح ّدد قيم تخمينية لكل من ‪ x,y,z‬و لتكن‬
‫)‪. (1‬‬

‫‪ ‬نكتب الكلمة المفتاحية ‪ Given‬بحيث يتم طباعتھا في منطقة الحساب‬


‫‪ Math Region‬و ليس في منطقة النص ‪. Text Region‬‬

‫‪ ‬إدخال المعادالت بحيث تكون عالمة المساواة مابين الجانب األيمن و األيسر‬
‫من النوع المنطقي ‪ Boolean Equal Sign‬و يجب أن التكون قيمة‬
‫الجانب األيمن صفراً ‪.‬‬

‫‪ ‬نختار إسم متغير معين و نح ّدده للدالة ‪ Find‬على سبيل المثال‪،‬‬


‫)‪ . v:=Find(x,y,z‬إن كتلة الحل ‪ Solve Block‬تتكون من كتلة جمل‬
‫اإلدخال المحصورة مابين الكلمة المفتاحية ‪ Given‬و الدالة ‪. Find‬‬

‫‪ ‬نستخدم عالمة المساواة )=( إلظھار النتيجة ‪.‬‬

‫إن النتيجة تظھر بشكل متجه ‪ Vector‬مكون من عناصر تمثل حلول نظام‬
‫المعادالت ‪ .‬و يمكن إتباع نفس الخطوات في نظام المعادالت المكون من أربعة‬
‫مجاھيل كما في الشكل أدناه‪:‬‬

‫‪93‬‬
‫حل المعادالت الخطية اآلنية‬

x  1

y  1

z  1

w  1

Given

x y  z w 1

x y  z 4

x z w 4

x y  z w 3

v  Find( x y  z w)

2
 
 3 
v Thus, x=2, y=-3, z=1, w=-1
1
 1 
 

The Inversion Method ‫طريقة المعكوس‬

94
‫الفصل الثالث‬

‫لو فرضنا أن لدينا نظام المعادالت التالي‪:‬‬

‫‪3X 1  5X 2  2X 3  8‬‬
‫‪2X 1  3X 2  1X 3  1‬‬
‫‪1X 1  2X 2  3X 3  1‬‬
‫يمكننا إيجاد حلول ھذا النظام من المعادالت بإستخدام طريقة المعكوس من خالل‬
‫الخطوات التالية‪:‬‬
‫‪ ‬إعادة كتابة المعادالت بالشكل التالي‪:‬‬

‫‪3 5‬‬ ‫‪2   X1  8‬‬


‫‪ 2 3  1  X   1‬‬
‫‪‬‬ ‫‪ 2 ‬‬
‫‪1  2  3  X 3  - 1‬‬

‫‪ ‬تحديد مصفوفة المعامالت ‪:Coefficients Matrix‬‬

‫‪3 5‬‬ ‫‪2‬‬


‫‪A   2 3  1‬‬
‫‪‬‬ ‫‪‬‬
‫‪1  2  3‬‬

‫‪ ‬تحديد متجه المجاھيل ‪: Unknowns Vector‬‬

‫‪95‬‬
‫حل المعادالت الخطية اآلنية‬

‫‪X1 ‬‬
‫‪X  X 2 ‬‬
‫‪ ‬‬
‫‪ X 3 ‬‬

‫‪ ‬تحديد متجه الحل ‪: Solution Vector‬‬

‫‪8‬‬
‫‪B  1‬‬
‫‪ ‬‬
‫‪- 1‬‬

‫‪ ‬إعادة كتابة نظام المعادالت بالشكل التالي‪:‬‬

‫‪AX=B‬‬
‫‪X=A-1B‬‬

‫إن الخطوات أعاله مبينة في الشكل التالي بإستخدام برنامج ‪: Mathcad‬‬

‫‪96‬‬
‫الفصل الثالث‬

3 5 2 
A   2 3 1 
 
 1 2 3 

8 
B   1 
 
 1 
1
X  A B

3 
X   1  Thus, X1=3, X2=-1, X3=2
 
2 

Check:

3  3  5  1  2  2  8

lsolve(A,B) Method lsolve(A,B) ‫طريقة الدالة‬


:‫يمكن حل المثال السابق بإستخدام ھذه الطريقة من خالل الخطوات التالية‬

97
‫حل المعادالت الخطية اآلنية‬

‫‪ ‬تعريف مصفوفة المعامالت ‪. Coefficients Matrix‬‬


‫‪ ‬تعريف متجه المجاھيل ‪. Unknowns Vector‬‬
‫‪ ‬إيجاد قيم المجاھيل بواسطة طباعة الدالة )‪. lsolve(A,B‬‬

‫و الشكل التالي الخطوات أعاله‪:‬‬

‫‪3 5 2 ‬‬
‫‪A   2 3 1 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪1‬‬ ‫‪‬‬‫‪2‬‬ ‫‪‬‬‫‪3‬‬ ‫‪‬‬

‫‪8 ‬‬
‫‪B   1 ‬‬
‫‪ ‬‬
‫‪ 1 ‬‬

‫)‪X  lsolve( A  B‬‬

‫‪3 ‬‬
‫‪X   1 ‬‬ ‫‪Thus, X1=3, X2=-1, X3=2‬‬
‫‪ ‬‬
‫‪2 ‬‬

‫‪Check:‬‬

‫‪3  3  5  1  2  2  8‬‬

‫الخالصة ‪Summary‬‬
‫‪Float,m‬‬
‫إظھار القيمة العشرية بعدد معين من المراتب العشرية مقداره ‪. m‬‬

‫‪98‬‬
‫الفصل الثالث‬

‫‪Solve,var‬‬
‫حل المعادلة بالنسبة للمتغير ‪ ، var‬أو حل نظام المعادالت المكونة من متجه من‬
‫المتغيرات ‪. var vector‬‬

‫‪lsolve‬‬
‫دالة تعيد حل المتجه ‪ X‬في المعادلة ‪ A.X=B‬حيث أن ‪ A‬تمثل مصفوفة المعامالت و‬
‫‪ B‬يمثل متجه الحل ‪.‬‬

‫‪Solve Block‬‬
‫كتلة الحل المستخدمة في الحصول على حلول نظام المعادالت الخطية التي يت إدخالھا‬
‫مابين الكلمات المفتاحية ‪. Given,Find‬‬
‫‪M-1‬‬
‫معكوس مصفوفة المعامالت وھي طريقة لحل نظام المعادالت الخطية ‪. X=M-1V‬‬

‫‪99‬‬
‫حل المعادالت الالخطية‬

‫مقدمة ‪Introduction‬‬
‫في العديد من التطبيقات الھندسية نواجه عادة المعادالت )أو نظام المعادالت( التي‬
‫اليمكن حلھا بشكل مباشر ‪ .‬على سبيل المثال‪ ،‬لغرض تحديد معدل اإلنسياب ‪Flow‬‬
‫‪ Rate‬في األنبوب عند مقدار معين من اإلنخفاض في الضغط ‪Pressure Drop‬‬
‫فإن قيمة الفقدان باإلحتكاك ‪ Friction Loss‬يجب أن تكون معلومة‪ ،‬و لكن قيمة‬
‫الفقدان باإلحتكاك تعتمد على معدل اإلنسياب ‪ .‬و عليه‪ ،‬لحساب قيمة الفقدان باإلحتكاك‬
‫البد من معرفة معدل اإلنسياب‪ ،‬و لحساب قيمة معدل اإلنسياب البد من معرفة قيمة‬
‫الفقدان باإلحتكاك ‪ .‬و لحل مثل ھذه المسائل التي نواجھھا في العديد من التطبيقات‬
‫الھندسية‪ ،‬نحتاج الى تخمين أما قيمة معدل اإلنسياب أو الفقدان باإلحتكاك ‪ .‬فعندما‬
‫نخمن قيمة الفقدان باإلحتكاك‪ ،‬فإننا سوف نح ّدد قيمة معدل اإلنسياب ومن ثم نحسب‬
‫قيمة الفقدان باإلحتكاك عند ذلك المعدل من اإلنسياب‪ ،‬وبالتالي تخضع المسألة الى الحل‬
‫عندما تكون قيمة الفقدان باإلحتكاك المحسوبة مساوية الى قيمة الفقدان باإلحتكاك‬
‫المخمنة‪ ،‬و عند عدم تساوي ھذه القيم نقوم بعملية التخمين مرة أخرى ‪.‬‬

‫يزودنا برنامج ‪ Mathcad‬بعدة أساليب إليجاد جذور المعادالت الالخطية‪:‬‬


‫‪ ‬طريقة المحاولة و الخطأ ‪. Trial and Error Method‬‬
‫‪ ‬طريقة كتلة الحل )‪. Solve Block (Given-Find‬‬
‫‪. Root( ) Function Method‬‬ ‫‪ ‬طريقة الدالة ) (‪Root‬‬
‫‪ ‬طريقة الدالة ) (‪. Polyroot( ) Function Method Polyroots‬‬
‫‪ ‬طريقة نيوتن‪-‬رافسن ‪. Newton-Raphson Method‬‬
‫‪ ‬طريقة القاطع ‪. The Secant Method‬‬

‫طريقة المحاولة و الخطأ ‪Trial and Error Method‬‬

‫‪102‬‬
‫الفصل الرابع‬

‫يمكننا ببساطة إستخدام طريقة المحاولة و الخطأ من خالل برنمامج ‪ . Mathcad‬و‬


‫يمكن بيان ذلك من خالل‪ ،‬المثال التالي‪ ،‬لو فرضنا أننا نريد إيجاد قيمة )‪ (x‬التي تحقق‬
‫المعادلة التالية‪:‬‬

‫‪X3+12x-21=0‬‬
‫أي قيمة )‪ (x‬التي تجعل المعادلة أعاله مساوية الى الصفر ‪ .‬و لغرض حل ھذه المعادلة‬
‫بإسلوب المحاولة و الخطأ في برنامج ‪ Mathcad‬نتبع الخطوات التالية‪:‬‬
‫‪ ‬نفرض أن قيمة التخمين األولى )‪:(x=0‬‬

‫‪x  0‬‬
‫‪3‬‬
‫‪x  12  x  21  21‬‬

‫بما أن )‪ (-21K0‬فھذا يعني أن قيمة التخمين غير صحيحة ‪.‬‬


‫‪ ‬نفرض أن قيمة التخمين الثانية )‪: (x=1‬‬

‫‪x  1‬‬
‫‪3‬‬
‫‪x  12  x  21  8‬‬

‫إن ھذه أقرب الى الصفر من قيمة التخمين األولٮن و ھذا يعني أن عملية التخمين ھي‬
‫باإلتجاه الصحيح ‪.‬‬
‫‪ ‬اآلن‪ ،‬نحاول قيمة التخمين )‪:(x=2‬‬

‫‪x  2‬‬ ‫‪103‬‬

‫‪3‬‬
‫‪x  12  x  21  11‬‬
‫حل المعادالت الالخطية‬

‫إن ھذه القيمة بعيدة عن الصفر و ھذا يعني التخمين الغير صحيح ‪.‬‬
‫‪ ‬نحاول اآلن‪ ،‬مع القيمة )‪: (x=1.5‬‬

‫‪x  1.5‬‬
‫‪3‬‬
‫‪x  12 x  21  0.375‬‬

‫إن ھذه القيمة قريبة الى جعل المعادلة مساوية الى الصفر ‪.‬‬

‫‪ ‬اآلن‪ ،‬نحاول القيمة )‪: (x=1.48‬‬

‫‪x  1.48‬‬
‫‪3‬‬ ‫‪3‬‬
‫‪x  12x  21  1.792 10‬‬

‫إن ھذه القيمة أقرب الى الصفر مقارنة مع قيم التخمين األخرى و ھي أقرب نحو‬
‫تحقيق المعادلة ‪.‬‬

‫‪104‬‬
‫الفصل الرابع‬

‫إستخدام الرسم السريع إليجاد قيم التخمين األولية الجيدة ‪Using a Quick‬‬
‫‪Plot to Find good Initial Guesses‬‬
‫بإمكاننا إيجاد قيم التخمين الجيدة بإستخدام ‪ Mathcad‬من خالل الخطوات التالية‪:‬‬
‫‪ ‬إظھار رسم ‪) x-y‬من شريط أدوات الرسم المبين في أدناه‪ ،‬أو من خالل الضغط‬
‫على المفاتيح ]‪: [shift-2‬‬

‫‪ ‬كتابة الدالة ) ‪ (x3+12x-21‬في محور ‪. y‬‬


‫‪ ‬إضافة منحني ثاني للرسم البياني بواسطة إختيار الدالة و الضغط على مفتاح‬
‫الفاصلة ]‪ . [Comma‬و من ثم إدخال )‪ (0‬في مجال الكتابة بالنسبة للرسم‬
‫الثاني‪ ،‬و ھذا يؤدي الى الحصول على خط إفقي عبر الرسم عند )‪. (y=0‬‬
‫‪ ‬إدخال المتغير المستخدم في الدالة في مجال الكتابة على المحور ‪ x‬و ھو ھنا‬
‫)‪. (x‬‬
‫‪ ‬تعديل الحدود عند المحور ‪ x‬بحيث نالحظ أن الدالة تتقاطع مع الخط )‪. (y=0‬‬
‫إن المواقع التي تتقاطع عندھا الدالة مع الخط )‪ (y=0‬تمثل جذور أو حلول‬
‫الدالة ‪ .‬و من خالل الرسم ‪ ،‬نالحظ بأن ھذه الدالة ) ‪ (x3+12x-21‬لھا جذور‬
‫محصورة مابين )‪ (1,2‬كما مبين في الشكل أدناه‪:‬‬

‫‪105‬‬
‫حل المعادالت الالخطية‬

‫‪50‬‬
‫‪50‬‬

‫‪0‬‬

‫‪3‬‬ ‫‪0‬‬
‫‪x 12 x21‬‬

‫‪ 50 50‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬
‫‪0‬‬ ‫‪x‬‬ ‫‪2‬‬

‫و جدير بالذكر‪ ،‬أن برنامج ‪ Mathcad‬يزودنا بطريقة فعّالة و دقيقة إليجاد جذور‬
‫المعادالت من الرسم البياني و يتم ذلك من خالل الخطوات التالية‪:‬‬
‫‪ ‬النقر فوق الرسم أعاله إلختياره ‪.‬‬
‫‪ ‬نختار من القائمة تنسيق ‪ Format‬الرسم البياني ‪ Graph‬ومن ثم نختار‬
‫تتبع نقاط )‪ Trace (x,y‬الرسم البياني إلظھار صندوق حوار تتبع نقاط‬
‫الرسم البياني ‪ x-y Trace Dialog‬المبين في أدناه‪:‬‬

‫‪106‬‬
‫الفصل الرابع‬

‫‪ ‬اآلن‪ ،‬نضع صندوق حوار تتبع نقاط الرسم البياني في مكان كما مبين في أدناه‪:‬‬

‫‪ ‬ننقر على النقطة التي تتقاطع عندھا الدالة مع الخط المستقيم )‪. (y=0‬‬
‫‪ ‬اآلن‪ ،‬نالحظ قيمة )‪ (x‬عند تلك النقطة من خالل صنوق حوار تتبع نقاط )‪(x,y‬‬
‫‪ ،‬و من خالل الشكل المبين في أدناه‪:‬‬

‫‪107‬‬
‫حل المعادالت الالخطية‬

‫نالحظ بأن قيمة التخمين‪ ،‬ھي )‪ (1.4135‬و ھي قريبة جداً من قيمة الجذر الحقيقية‪ ،‬و‬
‫بھذه الطريقة يمكننا إيجاد قيم التخمين الدقيقة و القريبة من قيمة الجذر الحقيقية ‪.‬‬

‫طريقة كتلة الحل ‪Solve Block Method Given-Find‬‬


‫إن ھذه الطريقة ھذه أفضل مقارنة مع طريقة المحاولة والخطأ ‪ .‬بإستخدام ھذه الطريقة‬
‫يمكننا حل عدة معادالت في نفس الوقت ‪ .‬و في ھذه الطريقة يتم إستخدام الكلمات‬
‫المفتاحية ‪ Given‬و ‪ . Find‬و بإمكاننا حل إيجاد جذور المعادالت بإستخدام ھذه‬
‫الطريقة من خالل الخطوات التالية‪:‬‬

‫‪ ‬البدء بقيمة تخمين أولية ‪. Initial Guess‬‬


‫‪ ‬طباعة الكلمة المفتاحية ‪. Given‬‬

‫‪108‬‬
‫الفصل الرابع‬

‫‪ ‬إدخال المعادلة التي نريد إستخراج جذورھا ‪.‬‬


‫‪ ‬طباعة الدالة ) (‪ Find‬إليجاد قيم الجذور ‪.‬‬

‫و يمكن بيان الخطوات أعاله من خالل حل المثال السابق كما مبين في أدناه‪:‬‬

‫‪x  0‬‬

‫‪given‬‬
‫‪3‬‬
‫‪x‬‬ ‫‪ 12  x  21‬‬ ‫‪0‬‬

‫) ‪x  find ( x‬‬

‫‪x  1.48‬‬
‫‪Check:‬‬
‫‪x  1.48‬‬

‫‪3‬‬
‫‪x‬‬ ‫‪ 12  x  21‬‬ ‫‪0‬‬

‫مما سبق‪ ،‬يمكن أن نستنتج بأن المتغير) ‪ ، ( x‬يمثل قيمة التخمين األولية ‪Initial‬‬
‫‪ ، Guess‬و في نفس الوقت يمثل قيمة الحل المحسوبة )جذر المعادلة(‬
‫‪ . Computed Solution‬و يمكن التحقق ‪ Check‬من جذر المعادلة من خالل‬
‫الخطوات التالية‪:‬‬

‫‪109‬‬
‫حل المعادالت الالخطية‬

‫‪ ‬إدخال قيمة ‪ x‬الناتجة‪:‬‬

‫‪x  1.48‬‬

‫‪ ‬طباعة الدالة و مالحظة النتيجة‪:‬‬

‫‪3‬‬
‫‪x  12 x  21‬‬ ‫‪0‬‬

‫و بما أن قيمة المعادلة مساوية الى الصفر عند )‪ ، (x=1.48‬فإذن ‪ x=1.48‬ھو أحد‬
‫جذور المعادلة الثالثة ألن ھناك )‪ . (x3‬و يمكن تعديل دقة النتيجة ‪ 1.48‬بواسطة النقر‬
‫المزدوج على قيمة ‪ x‬و من ثم تغيير عدد األرقام الظاھرة في النتيجة ‪ .‬أما جذور‬
‫المعادلة األخرى فيمكن إستخراجھا من خالل إستخدام قيم تخمينية أخرى ‪ .‬وفي مايلي‬
‫يمكن بيان عيوب ھذه الطريقة‪:‬‬

‫‪ ‬إيجاد الحل اليعني بأنه الحل النھائي للجذور أي يجب إستخدام قيم تخمينية‬
‫مختلفة و من ثم التحقق من الحل لكل قيمة تخمينية ‪.‬‬
‫‪ ‬في ھذه الطريقة اليمكن إستخدام الوحدات عند وجود أكثر من متغير ألن كل‬
‫متغير له وحداته الخاصة‪ ،‬على سبيل المثال ‪ ،‬معدل اإلنسياب و الفقدان‬
‫باإلحتكاك لھما وحدات مختلفة و عليه يجب حل مجموعة المعادالت من دون‬
‫إستخدام الوحدات للمتغيرات ‪.‬‬
‫‪ ‬يجب إستخدام قيم تخمينية مختلفة لكل متغير‪ ،‬على سبيل المثال‪ ،‬يمكن إستخدام‬
‫القيم التخمينية األولية الخيالية ‪ ، Imaginary Initial Guess‬وذلك بھدف‬

‫‪110‬‬
‫الفصل الرابع‬

‫جعل ‪ Mathcad‬يبحث عن الحلول الخيالية )جذور المعادلة الخيالية( كمافي‬


‫المثال أعاله‪ ،‬حيث نالحظ بأن جذور المعادلة المتبقية )الجذر الثاني و الجذر‬
‫الثالث ( ھي‪:‬‬

‫‪ 0.74  3.694i‬‬

‫حل المعادالت الالخطية اآلنية ‪Solution of Simultanous‬‬


‫‪Nonlinear Equations‬‬
‫بإمكاننا أيضا ً إيجاد جذور المعادالت الالخطية اآلنية بواسطة ‪ Mathcad‬من خالل‬
‫الخطوات التالية‪:‬‬
‫‪ ‬تحديد القيم التخمينية للمتغيرات المجھولة ‪.‬‬
‫‪ ‬طباعة الكلمة المفتاحية ‪. Given‬‬
‫‪ ‬إدخال الدوال التي نريد إستخراج جذورھا ‪.‬‬

‫‪111‬‬
‫حل المعادالت الالخطية‬

‫‪ ‬إستخدام الدالة ) (‪ Find‬إلستخراج جذور المعادالت كما مبين في الشكل التالي‪:‬‬

‫‪p  1‬‬ ‫‪q  1‬‬ ‫‪Initial guess‬‬

‫‪Given‬‬
‫‪2‬‬
‫‪q‬‬ ‫‪9p‬‬
‫‪2‬‬ ‫‪2‬‬
‫‪q p‬‬ ‫‪8‬‬

‫‪1 1 8‬‬ ‫‪8 ‬‬


‫‪Find ( p  q)  ‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬‫‪3‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪‬‬‫‪6‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪‬‬

‫‪1 1 8‬‬ ‫‪8 ‬‬ ‫‪ 1. 1. 8.‬‬ ‫‪8. ‬‬


‫‪‬‬ ‫‪‬‬ ‫‪float‬‬ ‫‪‬‬ ‫‪4‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬
‫‪ 3 3 6 2 6  2 ‬‬ ‫‪ 3. 3. 8.484 8.484 ‬‬

‫‪p  1 ,‬‬ ‫‪q  3‬‬


‫‪p  8,‬‬ ‫‪q   8.484‬‬

‫‪Root( ) Function Method‬‬ ‫طريقة الدالة ) (‪Root‬‬


‫يمكن إستخدام الدالة ) (‪ root‬إليجاد أحد الجذور ‪ Single Solution‬في المعادلة ‪ .‬و‬
‫في ھذه الدالة النحتاج الى إستخدام الكلمات المفتاحية ‪ . Given/Find‬و بالنظر لكون‬

‫‪112‬‬
‫الفصل الرابع‬

‫الدالة ھي عبارة عن أداة حل تكرارية ‪ ، Iterative Solver‬فھذا يعني أننا أيضا ً‬


‫نحتاج الى إستخدام قيم تخمينية أولية ‪ Initial Guess‬و الخطوات الالزمة إلستخدام‬
‫ھذ الدالة ھي‪:‬‬
‫‪ ‬نبدأ بتعريف الدالة ‪.‬‬
‫‪ ‬تعريف قيمة التخمين األولية ‪.‬‬
‫‪ ‬إستخدام الدالة ) (‪ Root‬إليجاد الحل ‪.‬‬
‫‪ ‬و أخيراً إظھار النتيجة ‪.‬‬

‫إن الخطوات أعاله مبينة في الشكل التالي‪:‬‬

‫‪3‬‬
‫‪f ( x )  x  12 x  21‬‬

‫‪x  0‬‬

‫) ‪Soln  root ( f ( x )  x‬‬

‫‪Soln  1.48‬‬
‫و كما ذكرنا في أعاله‪ ،‬تستخدم ھذه الدالة في إيجاد أحد جذور المعادلة‪ ،‬أما بالنسبة‬
‫للمعادالت أو الدوال التي لھا عدة حلول )عدة جذور( فيمكن إستخدام ھذه‬
‫الدالة)) (‪ (Root‬من خالل إستخدام عدة قيم تخمينية للبحث عن الجذور األخرى ‪،‬‬
‫على سبيل المثال‪ ،‬للبحث عن الجذور الخيالية‪ ،‬نستخدم قيمة التخمين الخيالية ‪.‬‬
‫طريقة الدالة ) (‪Polyroot( ) Function Method Polyroots‬‬
‫يمكن إيجاد جميع جذور الدوال المتعددة الحدود ‪ ،Polynomial Functions‬في‬
‫نفس الوقت بواسطة إستخدام الدالة ) (‪ . Polyroot‬و لغرض إستخدام ھذه الدالة فإن‬
‫معامالت الدالة المتعددة الحدود ‪ Polynomial Coefficients‬يجب إدخالھا بشكل‬
‫متجه عمودي ‪ Column Vector‬إبتدا ًء من الثابت ‪ Constant‬كما مبين في أدناه‪:‬‬

‫‪113‬‬
‫حل المعادالت الالخطية‬

‫‪3‬‬ ‫‪2‬‬
‫‪1x  0x  12x  21‬‬ ‫‪0‬‬

‫‪ 21 ‬‬


‫‪‬‬ ‫‪‬‬
‫‪V ‬‬
‫‪‬‬ ‫‪12‬‬ ‫‪‬‬
‫‪ 0 ‬‬
‫‪‬‬ ‫‪‬‬
‫‪ 1 ‬‬

‫) ‪Soln  polyroots ( V‬‬

‫‪ 0.74  3.694i ‬‬


‫‪Soln   0.74  3.694i ‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪1.48‬‬ ‫‪‬‬
‫من ھنا‪ ،‬نالحظ بأن الدالة ) (‪ Polyroots‬طريقة سريعة إليجاد جميع جذور المعادلة‬
‫إال أنھا‪ ،‬تستخدم فقط في حالة الدوال المتعددة الحدود‪. Polynomial Functions‬‬

‫طريقة نيوتن‪-‬رافسن ‪Newton-Raphson Method‬‬


‫إن حل المعادلة ‪ f(x)=0‬يمكن إيجاده أيضا ً بإستخدام طريقة نيوتن‪-‬رافسن ‪ .‬و ھي‬
‫طريقة يمكن إستخدامھا أيضا ً في حل المعادالت الالخطية ‪ .‬و الصيغة العامة لھا ھي‪:‬‬

‫) ‪f ( xn‬‬
‫‪xn 1‬‬ ‫‪ xn ‬‬
‫) ‪f ' ( xn‬‬
‫‪114‬‬
‫الفصل الرابع‬

‫حيث أن …‪ . n=0,1,2‬و يمكن إستخدام ھذه الطريقة في برنامج ‪ Mathcad‬من‬


‫خالل الخطوات التالية‪:‬‬
‫‪ ‬إدخال الدالة التي نريد إستخراج جذورھا ‪.‬‬
‫‪ ‬إدخال مشتقة الدالة بواسطة إستخدام تعليمة المشتقة في شريط أدوات الحساب‬
‫‪ Calculus‬المبين في أدناه‪:‬‬

‫‪ ‬تحديد عدد التكرارات )‪. Number of Iterations (N‬‬


‫‪ ‬تحديد متغبر المدى )‪ Range Variable (i‬لعدد التكرار ‪.‬‬
‫‪ ‬إدخال الدالة بشكل يمثل الصيغة العامة لطريقة نيوتن‪-‬رافسن‪:‬‬

‫) ‪f ( xn‬‬
‫‪xn 1‬‬ ‫‪ xn ‬‬
‫) ‪f ' ( xn‬‬

‫‪ ‬طباعة )=‪ (x‬لمالحظة النتائج ‪.‬‬

‫‪115‬‬
‫حل المعادالت الالخطية‬

‫إن الخطوات أعاله مبينة في األمثلة التالية في برنامج ‪:Mathcad‬‬

‫‪116‬‬
‫الفصل الرابع‬

3 2
f ( x)  x  2 x  10 x  20


d 3 2 2 
x  2 x  10 x  20  3 x  4 x  10
dx

2
d ( x)  3 x  4 x  10

x  1
0

0
N  8 0 1
1 1.412
i  0  N  1
2 1.369

x  x 
 i
f x
x
3 1.369
i 1
 i
i d x 4 1.369
5 1.369
6 1.369
7 1.369
8 1.369

117
‫حل المعادالت الالخطية‬

    c   t 
   
 m g 
  1  e
m 
f ( c)     v
 c 

  1  exp  t     t exp  t 
g c g c
fp( c)  m
c
2   m  c m 

c  15
0

N  3

i  0  N  1

 c 
 i
f c

 i
c
i 1 i fp c

 15 
 
c
14.78 
 14.78 
 14.78 
 

118
‫الفصل الرابع‬

‫طريقة القاطع ‪The Secant Method‬‬


‫على الرغم من أن طريقة نيوتن‪-‬رافسن طريقة كفؤة جداً إال أن ھناك العديد من‬
‫الحاالت يكون تطبيقھا فيھا غير مناسباً‪ ،‬و بدالً من ذلك يتم إستخدام طريقة القاطع التي‬
‫يعبّر عنھا من خالل الصيغة التالية‪:‬‬

‫) ‪f ( xi )( xi 1  xi‬‬
‫‪x i 1  xi ‬‬
‫) ‪f ( xi 1 )  f ( xi‬‬

‫و يتم إستخدام ھذه الطريقة في ‪ Mathcad‬من خالل الخطوات التالية‪:‬‬


‫‪ ‬إدخال الدالة التي نريد إستخراج جذورھا ‪.‬‬
‫‪ ‬تحديد القيمة التخمينية األولية ‪. Initial Guess‬‬
‫‪ ‬تحديد عدد التكرارات التي نريدھا )‪. (N‬‬
‫‪ ‬تحديد متغير المدى للتكرار )‪. (i‬‬
‫‪ ‬إدخال الصيغة العامة لطريقة القاطع للمعادلة المطلوبة ‪:‬‬

‫) ‪f ( xi )( xi 1  xi‬‬
‫‪x i 1  xi ‬‬
‫) ‪f ( xi 1 )  f ( xi‬‬

‫‪ ‬طباعة )=‪ (x‬إلظھار النتائج كما مبين في الشكل التالي‪:‬‬

‫‪119‬‬
‫حل المعادالت الالخطية‬

3
f ( x)  x  x  11

x  2
0

x  3
1 0
0 2
N  15
1 3
i  1  N  1 2 2.278
3 2.351
4 2.375
f  xi   xi1  xi 5 2.374
x  x 
i 1 i f x i1  fxi 6 2.374
x  7 2.374
8 2.374
9 2.374
10 2.374
11 2.374
12 2.374
13 2.374
14 2.374
15 2.374

‫الخالصة‬

120
‫الفصل الرابع‬

‫‪Given‬‬
‫كلمة مفتاحية تمثل بداية كتلة الحل التكرارية ‪.‬‬

‫) (‪Find‬‬
‫كلمة مفتاحية تمثل نھاية كتلة الحل التكرارية و تعيد جذور المعادلة المطلوبة ‪.‬‬

‫) ‪Root( f(x,y),x‬‬
‫دالة تستخدم أداة الحل التكرارية إليجاد جذر واحد للدالة المكونة من متغير أو أكثر ‪.‬‬

‫) (‪Polyroots‬‬
‫دالة تعيد جميع جذور المعادلة المتعددة الحدود ‪. Polynomial‬‬

‫‪121‬‬
‫اإلستكمال‬

‫مقدمة ‪Introduction‬‬
‫إذا كان لدينا مجموعة من البيانات‪ ،‬على سبيل المثال‪ ،‬مجموعة من قيم درجات‬
‫الحرارة عند فترات زمنية معينة‪ ،‬و نريد التنبأ بدرجة حرارة معينة عند فترة زمنية‬
‫معينة‪ ،‬فھناك إسلوبين للتنبأ بالقيمة الجديدة‪:‬‬
‫‪ ‬مطابقة ‪ Fitting‬الدالة مع البيانات‪ ،‬و من ثم حساب قيمة درجة الحرارة‬
‫المتنبأ بھا ‪ Predicted Temperature‬عند الفترة الزمنية الجديدة ‪The‬‬
‫‪. New Time‬‬
‫‪ ‬أو يمكننا إجراءاإلستكمال ‪ Interpolation‬لمجموعة البيانات ‪.‬‬

‫يزودنا برنامج ‪ Mathcad‬بعدد من دوال اإلستكمال لكل من‪:‬‬


‫‪ ‬اإلستكمال الخطي ‪. Linear Interpolation‬‬
‫‪ ‬اإلستكمال التكعيبي بالشريحة ‪. Cubic Spline Interpolation‬‬

‫اإلستكمال الخطي ‪Linear Interpolation‬‬


‫إن دالة اإلستكمال الخطي )‪ linterp(vx,vy,xnew‬يمكنھا التنبأ بقيمة ‪ y‬الجديدة عند‬
‫قيمة ‪ x‬الجديدة )‪ (xnew‬و يتم ذلك بواسطة إستخدام اإلستكمال الخطي و بواسطة‬
‫إستخدام قيم ‪ x‬الموجودة في مجموعة البيانات و القريبة من قيمة ‪ x‬الجديدة ‪.‬‬
‫و كمثال على ذلك‪ ،‬ندرس بيانات تغيّر درجة الحرارة مع الزمن كما موضّح في أدناه‪:‬‬

‫‪124‬‬
‫الفصل الخامس‬

0
  0
1 0 0
2 1 1
 
2 2
3
4 Time
3 3
Time     min  4 4
5 min
5 5
6
6 6
 
7 7 7
8 8 8
  9 9
9

 298 
  0
 299  0 298
 301  1 299
 
304 2 301
 
 306  Temp
3 304
Temp    K  4 306
 309  K
5 309
 312 
6 312
 
 316  7 316
 319  8 319
  9 322
 322 

125
‫اإلستكمال‬

‫إن متجه درجات الحرارة ‪ Temp. Vector‬يتضمن على سبيل المثال‪ ،‬درجات‬
‫الحرارة عند الفترات الزمنية ‪ 2,3 min.‬و لكنه اليتضمن درجة الحرارة عند الفترة‬
‫الزمنية على سبيل المثال‪ . 2.3 min. ،‬و بإستخدام الدالة ) (‪ linterp‬يمكننا‬
‫اإلستكمال مابين قيم درجات الحرارة عند الفترات الزمنية ‪ 2,3 min.‬و ذلك للتنبأ‬
‫بدرجة الحرارة عند ‪ 2.3 min.‬و كمايلي‪:‬‬

‫)‪Tempinterp  linterp ( Time  Temp  2.3  min‬‬

‫‪Tempinterp  301.9 K‬‬


‫يمكننا أيضا ً أن نستخدم الدالة ) (‪ linterp‬لإلستكمال باإلستقراء ‪ Extrapolation‬أي‬
‫التنبأ بالقيم الجديدة التي تعتبر خارج حدود مجموعة البيانات‪ ،‬و لھذا يعتبر اإلستقراء‬
‫في أغلب األحيان إسلوبا ً خطراً لإلستكمال ‪ .‬فبالنسبة للبيانات السابقة لدرجات الحرارة‬
‫التي يقابلھا بيانات الفترة الزمنية من )‪ ، (0-9 min.‬يمكننا إستقراء درجة الحرارة‬
‫عند فترة زمنية مقدارھا) ‪ ( 20 min.‬بواسطة إستخدام الدالة ) (‪: linterp‬‬

‫)‪Tempinterp  linterp ( Time  Temp  20  min‬‬

‫‪Tempinterp  355 K‬‬

‫‪126‬‬
‫الفصل الخامس‬

‫إن اإلستكمال باإلستقراء سوف يعطينا نتيجة إال أنه اليوجد ھناك ضمان حول صحة‬
‫ھذه النتيجة ‪ ،‬ألن النتيجة ھي خارج مدى مجموعة البيانات‪ ،‬و لھذا تكون النتيجة غير‬
‫مؤكدة ‪ .‬فبالنسبة لھذه البيانات‪ ،‬ال نعلم ربما عملية التسخين توقفت بعد ‪ 9 min.‬و بعد‬
‫ذلك درجات الحرارة يمكن أن تبدأ باإلنخفاض مع الزمن ‪ .‬و نظراً لكون البيانات‬
‫السابقة تتضمن فقط درجات الحرارة مابين )‪ ( 0-9 min.‬فإننا ال نعلم ماذا حصل في‬
‫الزمن الالحق مابعد ‪. 9 min.‬‬

‫اإلستكمال التكعيبي بالشريحة ‪Cubic Spline Interpolation‬‬


‫و كبديل لإلستكمال الخطي يمكن إستخدام اإلستكمال التكعيبي بالشريحة ‪ .‬إن ھذه تضع‬
‫المنحني )منحني المعادلة المتعددة الحدود ‪ ( Cubic Polynomial‬خالل جميع نقاط‬
‫البيانات و تؤدي الى الحصول على منحني يمر في كل نقطة من نقاط البيانات مع‬
‫وجود المشتقات األولى و الثانية المستمرة ‪Continuous First and Second‬‬
‫‪. Derivatives‬‬
‫إن اإلستكمال التكعيبي للقيم الموجودة مابين النقاط يمكن أن يتم بإستخدام الدالة التكعيبية‬
‫المتعددة الحدود ‪ .‬و لغرض إستخدام اإلستكمال التكعيبي بالشريحة في برنامج‬
‫‪ ،Mathcad‬نحتاج في البداية الى مطابقة ‪ Fitting‬الدالة التكعيبية المتعددة الحدود مع‬
‫البيانات بإستخدام الدالة )‪ . cspline(vx,vy‬إن ھذه الدالة تعيد متجه ‪ Vector‬من قيم‬
‫المشتقة الثانية ‪ vs‬التي تستخدم فيما بعد في اإلستكمال الذي يمكن تنفيذه بإستخدام الدالة‬
‫)‪ interp(vs,vx,vy,xnew‬حيث أن‪:‬‬
‫‪= Vs‬متجه قيم المستقة الثانية ‪.‬‬
‫‪= Vx‬متجه قيم ‪ x‬في مجموعة البيانات ‪.‬‬
‫‪= Vy‬متجه قيم ‪ y‬في مجموعة البيانات ‪.‬‬

‫‪127‬‬
‫اإلستكمال‬

‫‪= Xnew‬قيمة ‪ x‬الجديدة التي نريد إستخراج قيمة ‪ y‬الجديدة عندھا ‪.‬‬

‫من ھنا‪ ،‬يمكن إجراء اإلستكمال التكعيبي بالشريحة عند الفترة الزمنية ‪2.3 min.‬‬
‫بإستخدام برنامج ‪ Mathcad‬من خالل طباعة الخطوات التالية المبينة في أدناه‪:‬‬

‫)‪VS  cspline ( Time  Temp‬‬

‫)‪Tempinterp  interp ( VS  Time  Temp  2.3  min‬‬

‫‪Tempinterp  301.905K‬‬

‫مرة أخرى‪ ،‬يمكن أيضا ً إجراء اإلستكمال باإلستقراء ‪ Extrapolation‬بإستخدام‬


‫إسلوب اإلستكمال التكعيبي بالشريحة و على الرغم من ذلك‪ ،‬يبقى ھذا اإلجراء حالة‬
‫خطرة ألننا نقوم بعملية اإلستكمال لقيم خارج حدود البيانات الموجودة ‪ .‬و بالنظر لكون‬
‫تقنية اإلستكمال التكعيبي بالشريحة تطابق ‪ Fit‬ثالث نقاط متجاورة بإستخدام الدالة‬
‫التكعيبية المتعددة الحدود ‪ ، Cubic Polynomial‬فإن ھناك تغير ‪ Trouble‬عند‬
‫كل نھاية من مجموعة البيانات ولھذا فإن النقاط األولى و األخيرة ليس لھا نقاط أخرى‬
‫عند كل جانب‪ ،‬وعليه البد من وجود وسيلة لمعالجة نقاط النھاية ‪ End Points‬عند‬

‫‪128‬‬
‫الفصل الخامس‬

‫إستخدام طريقة الشريحة ‪ . Cubic Spline Method‬إن برنامج ‪Mathcad‬‬


‫يزودنا بثالث طرق لمعالجة نقاط النھاية وھي كمايلي‪:‬‬
‫‪ ‬إستخدام الدالة ) (‪ cspline‬حيث أنھا تؤدي الى تكوين شريحة منحني‬
‫‪ Spline Curve‬التي تكون عادة مكعبة ‪ Cubic‬عند نقاط النھاية ‪.‬‬

‫‪ ‬إستخدام الدالة ) (‪ pspline‬وھي تؤدي الى الحصول على شريحة منحني‬


‫بشكل قطع مكافئ ‪ Parabolic‬عند نقاط النھاية ‪.‬‬

‫‪ ‬إستخدام الدالة ) (‪ lspline‬و منھا يمكن أن نحصل على شريحة منحني من‬
‫خطي ‪ Linear‬عند نقاط النھاية ‪.‬‬

‫إن الطرق أعاله‪ ،‬تؤدي جميعھا الى الحصول على نفس نتيجة اإلستكمال عند‬
‫إستخدامھا في إستكمال النقاط الداخلية ‪ Interior Points‬كما مبين في أدناه‪:‬‬

‫)‪VS  cspline ( Time  Temp‬‬

‫‪interp ( VS  Time  Temp  2.3  min)  301.905K‬‬

‫)‪VS  pspline ( Time  Temp‬‬

‫‪interp ( VS  Time  Temp  2.3  min)  301.902K‬‬

‫)‪VS  lspline ( Time  Temp‬‬

‫‪interp ( VS  Time  Temp  2.3  min)  301.905K‬‬

‫‪129‬‬
‫اإلستكمال‬

‫إال أنھا تعطي نتائج مختلفة تماما ً عند إستخدامھا في معالجة اإلستكمال باإلستقراء‬
‫‪ Extrapolation‬للنقاط التي تعتبر خارج حدود البيانات و كما موضّح في أدناه‪:‬‬

‫)‪VS  cspline ( Time  Temp‬‬

‫‪interp ( VS  Time  Temp  20  min)  949.695K‬‬

‫)‪VS  pspline ( Time  Temp‬‬

‫‪interp ( VS  Time  Temp  20  min)  384.003K‬‬

‫)‪VS  lspline ( Time  Temp‬‬

‫‪interp ( VS  Time  Temp  20  min)  232.425K‬‬

‫من ھنا‪ ،‬اإلستكمال باإلستقراء ‪ ) Extrapolation‬تنبأ القيم خارج مدى مجموعة‬


‫البيانات( يجب تج ّنبه قدر اإلمكان ‪ .‬إن درجات الحرارة المستخدمة في المثال السابق قد‬
‫تم تسجيلھا عند فترات زمنية تتراوح مابين )‪ ، (0-9 min.‬حيث أن التنبأ بدرجة‬
‫الحرارة عند ‪ 9.2 min.‬يعتبر أكثر أمانا ً من التنبأ بدرجة الحرارة عند ‪ 90 min.‬أو‬
‫‪ ، 900 min.‬ألننا نفترض عدم حدوث تغيرات عند الفترات الزمنية التي تتراوح‬

‫‪130‬‬
‫الفصل الخامس‬

‫مابين )‪ (9-9.2 min.‬ألن الباحث ربما أطفأ الفرن أو مصدر التسخين و أن درجة‬
‫الحرارة ربما بدأت باإلنخفاض بعد ‪. 9 min.‬‬

‫إستخدام الرسم السريع لرسم منحني الشريحة ‪Using a Quick Plot to‬‬
‫‪plot the spline Curve‬‬
‫عندما نرغب بمالحظة كيف يبدو منحني الشريحة‪ ،‬فإن برنامج ‪ Mathcad‬يزودنا‬
‫بعامل الرسم السريع ‪ Quick Plot‬الذي يوفر لنا إمكانية مشاھدة المنحني و بأقل جھد‬
‫ممكن ‪ .‬و بالنظر لكون نافذة الرسم السريع سوف تقيم الدالة عدة مرات على مدى قيم‬
‫البيانات‪ ،‬فإن بإمكاننا أن ندع برنامج ‪ Mathcad‬يقيم الدالة ) (‪ interp‬عدة مرات‬
‫ومن ثم يظھر النتيجة ‪ .‬و بالعودة الى بيانات درجة الحرارة‪-‬الزمن‪ ،‬يمكننا حساب قيم‬
‫المشتقة الثانية بإستخدام الدالة ) (‪ pspline( ) ، csplin‬أو ) (‪ lspline‬و من ثم‬
‫إستخدام الرسم السريع كما مبين في الشكل أدناه ‪ .‬في ھذا الشكل‪ ،‬قيمة ‪ t‬الموجودة في‬
‫الدالة ) (‪ interp‬و عند محور ‪ x‬ھي عبارة عن متغير وھمي ‪Dummy Variable‬‬
‫‪.‬‬

‫‪400‬‬

‫‪‬‬
‫‪interp VS‬‬
‫‪Time Temp ‬‬
‫‪‬‬ ‫‪ t‬‬
‫‪‬‬ ‫‪min‬‬ ‫‪K‬‬ ‫‪‬‬
‫‪300‬‬

‫‪10‬‬ ‫‪0‬‬ ‫‪10‬‬


‫‪131‬‬ ‫‪t‬‬
‫اإلستكمال‬

‫‪ Mathcad‬كما نالحظ من الشكل يقيم الدالة ) (‪ interp‬عند قيم ‪t‬‬ ‫إن برنامج‬
‫المحصورة مابين )‪ (-10,10‬في الحالة اإلفتراضية و من ثم يظھر النتيجة كما مبين‬
‫في الشكل أعاله ‪ .‬و لكننا نحتاج الى تغيير حدود محور)‪ (x‬بحيث تتطابق مع قيم الزمن‬
‫الموجودة في مجموعة البيانات أي القيم التي تتراوح مابين )‪ . (0-9 min.‬و يمكن‬
‫تغيير حدود محور )‪ (x‬من خالل النقر على محور )‪ (x‬و من ثم تحرير قيم الحدود‬
‫للمحور )‪: (x‬‬

‫)‪VS  cspline ( Time  Temp‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪3‬‬
‫‪2‬‬ ‫‪2‬‬
‫‪3‬‬ ‫‪2.882·10 -5‬‬
‫‪4‬‬ ‫‪2.778·10 -4‬‬
‫‪5‬‬ ‫‪5.267·10 -4 K‬‬
‫‪VS ‬‬
‫‪6 -7.181·10 -4‬‬ ‫‪2‬‬
‫‪s‬‬
‫‪7‬‬ ‫‪6.788·10 -4‬‬
‫‪8 -3.306·10 -4‬‬
‫‪9‬‬ ‫‪6.437·10 -4‬‬
‫‪10 -5.776·10 -4‬‬
‫‪11‬‬ ‫‪0‬‬
‫‪12 5.776·10 -4‬‬
‫‪132‬‬
‫الفصل الخامس‬

‫‪133‬‬
‫اإلستكمال‬

‫إن الرسم البياني المبين في أعاله‪ ،‬يؤكد لنا مرة أخرى لماذا تعتبر فكرة اإلستكمال‬
‫باإلستقراء ھي فكرة غير جيدة بإستخدام الدالة ) (‪ ، interp‬ألنة مجموعة القيم في‬
‫البيانات الحقيقية التبدي أي دليل بأن درجة الحرارة كانت عالية جداً قبل البدء بالقيم‬
‫التجريبية )قيم الزمن السالبة في الرسم البياني( ‪ .‬و ھذا مايحدث عند إستخدام الدالة‬

‫‪VS  lsplineTime‬‬
‫(‬ ‫)‪ Temp‬‬ ‫‪vs csplineTime‬‬
‫(‬ ‫)‪ Temp‬‬

‫‪0‬‬
‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪3‬‬
‫‪1‬‬ ‫‪3‬‬
‫‪2‬‬ ‫‪2‬‬
‫‪2‬‬ ‫‪0‬‬
‫‪3 2.882·10 -5‬‬
‫‪3‬‬ ‫‪0‬‬
‫‪4 2.778·10 -4‬‬
‫‪4 2.855·10 -4‬‬
‫‪5 5.267·10 -4 K‬‬
‫‪5 5.247·10 -4 K‬‬ ‫‪vs ‬‬
‫‪VS ‬‬ ‫‪6 7.181·10 -4‬‬ ‫‪2‬‬
‫‪6 7.177·10‬‬ ‫‪-4‬‬ ‫‪2‬‬ ‫‪s‬‬
‫‪s‬‬ ‫‪7 6.788·10 -4‬‬
‫‪7 6.795·10‬‬ ‫‪-4‬‬
‫‪8 3.306·10 -4‬‬
‫‪8 3.336·10 -4‬‬
‫‪-4‬‬
‫‪9 6.437·10 -4‬‬
‫‪9 6.548·10‬‬
‫‪10 5.776·10 -4‬‬
‫‪10 6.191·10 -4‬‬
‫‪11‬‬ ‫‪0‬‬
‫‪11 1.548·10 -4‬‬
‫‪12 5.776·10 -4‬‬
‫‪12‬‬ ‫‪0‬‬
‫) (‪ cspline‬في التطابق ‪ ، Fitting‬و لكن النتائج سوف تكون مختلفة تماما ً عند‬
‫إستخدام الدالة ) (‪ lspline‬كما مبين في الشكل أدناه‪:‬‬

‫‪134‬‬
‫الفصل الخامس‬

‫إن تطابق الشريحة ‪ Spline Fitting‬لمجموعة قيم البيانات الحقيقية )أي البيانات‬
‫الغير خاضعة لإلستكمال باإلستقراء ( أي قيم حدود محور )‪ (x‬التي تم تغييرھا ضمن‬
‫المدى )‪ (0-9 min.‬مبينة في الشكل التالي‪:‬‬

‫‪320‬‬

‫‪‬‬
‫‪interp VS‬‬
‫‪Time Temp ‬‬
‫‪‬‬ ‫‪ t‬‬
‫‪‬‬ ‫‪min‬‬ ‫‪K‬‬ ‫‪‬‬
‫‪300‬‬

‫‪0‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪8‬‬


‫‪t‬‬

‫إن المنحني أعاله‪ ،‬يسلك سلوكا ً مطابقا ً مع البيانات الحقيقية التي تبين لنا أن درجة‬
‫الحرارة تزداد مع الزمن و ھذا تم معالجته بإستخدام إسلوب تطابق الشريحة ‪Spline‬‬
‫‪. Fitting‬‬

‫‪135‬‬
‫اإلستكمال‬

‫الخالصة‬
‫الدالة )‪linterp(vx,vy,xnew‬‬
‫تعيد قيمة ‪ y‬المناظرة الى ‪ ، x=xnew‬المحسوبة بإستخدام اإلستكمال الخطي على بيانات‬
‫‪. x,y‬‬

‫الدالة )‪cspline(vx,vy‬‬
‫تعيد متجه من المشتقات الثانية التي تح ّدد منحني الشريحة ‪ Spline Curve‬الذي‬
‫يكون مكعبا ً ‪ Cubic‬عند نقاط النھاية ‪.‬‬

‫الدالة )‪Pspline(vx,vy‬‬
‫تعيد متجه من المشتقات الثانية التي تح ّدد منحني الشريحة ‪ Spline Curve‬الذي‬
‫يكون بشكل قطع مكافئ ‪ Parabolic‬عند نقاط النھاية ‪.‬‬

‫الدالة )‪lspline(vx,vy‬‬
‫تعيد متجه من المشتقات الثانية التي تح ّدد منحني الشريحة ‪ Spline Curve‬الذي‬
‫يكون خطيا ً ‪ Linear‬عند نقاط النھاية ‪.‬‬

‫الدالة )‪interp(vs,vy,xnew‬‬
‫تستخدم متجه المشتقة الثانية من أي من دوال الشريحة ‪ Spline‬المذكورة في أعاله‪ ،‬و‬
‫تعيد قيمة ‪ y‬المناظرة الى ‪ ، x=xnew‬الذي يمكن حسابه بإستخدام اإلستكمال بالشريحة‬
‫على بيانات ‪. x,y‬‬

‫‪136‬‬
‫تطابق المنحنيات‬

‫اإلنحدار الخطي البسيط ‪Simple Linear Regression‬‬


‫يزودنا برنامج ‪ Mathcad‬بعدد من الدوال التي تستخدم في تطابق المنحنيات مع‬
‫البيانات و كذلك إستخدام ھذه الدوال في التنبأ عن القيم الجديدة من منحنيات التطابق‬
‫‪ . Fitted Curves‬و يعتبر اإلنحدار الخطي ‪ Linear Regression‬من أكثر‬
‫تطبيقات تطابق المنحنيات شيوعا ً ‪ .‬إن اإلنحدار الخطي البسيط ينفذ عادة في برنامج‬
‫‪ Mathcad‬بإستخدام الدوال التالية‪:‬‬
‫‪ ‬دالة الميل )‪. slope(vx,vy‬‬
‫‪ ‬دالة التقاطع )‪. intercept(vx,vy‬‬
‫‪ ‬دالة معامل العالقة )‪. corr(vx,vy‬‬

‫إن الدالة )‪ slope(vx,vy‬تعيد ميل المنحني‪ ،‬و الدالة )‪ intercept(vx,vy‬تعيد نقطة‬


‫التقاطع مع محور)‪ ، (Y‬أما الدالة )‪ corr(vx,vy‬فإنھا تعيد معامل العالقة )‪(R‬‬
‫‪ Correlation Coefficient‬ألفضل تطابق للخط المستقيم مع البيانات التي تم‬
‫تمثيلھا بمتجه ‪ . x,y‬و كمثال على اإلنحدار الخطي البسيط ‪ ،‬نعود الى مثال تغيّر درجة‬
‫الحرارة مع الزمن‪ ،‬حيث أن الخطوات الالزمة إلجراء تطابق المنحني في برنامج‬
‫‪ Mathcad‬موضحة في الشكل أدناه‪:‬‬

‫‪140‬‬
‫الفصل السادس‬

0 
  0
1  0 0
2  1 1
 
2 2
3 
4  Time
3 3
Time     min  4 4
5  min
5 5
6 
6 6
 
7  7 7
8  8 8
  9 9
9 

 298 
  0
 299  0 298
 301  1 299
 
2 301
 304 
 306  Temp
3 304
Temp    K  4 306
 309  K
5 309
 312 
6 312
 
 316  7 316
 319  8 319
  9 322
 322 

b  intercept ( Time  Temp ) b  296.109 K


m  slope ( Time  Temp ) m
 2.776
 K 
 
 min 

141
‫تطابق المنحنيات‬

‫‪Model‬‬ ‫إن قيم درجات الحرارة التي سيتم التنبأ بھا بواسطة معادلة النموذج‬
‫‪) Equation‬المعادلة الخطية( يمكن حسابھا من خالل قيم الميل )‪ (m‬و نقطة التقاطع‬
‫)‪ (b‬بواسطة إستخدام مدى الفترة الزمنية التي تتراوح مابين )‪ (0-9 min.‬و من ثم‬
‫يمكن تحديد نوعية التطابق بواسطة إستخدام الدالة )‪ corr(vx,vy‬كما مبين في أدناه‪:‬‬

‫) ‪i  0  last ( Time‬‬

‫‪Temp pred  b  m  Time i‬‬


‫‪i‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪296.109‬‬
‫‪1‬‬ ‫‪298.885‬‬
‫‪2‬‬ ‫‪301.661‬‬
‫‪3‬‬ ‫‪304.436‬‬
‫‪Temp pred ‬‬ ‫‪4‬‬ ‫‪307.212 K‬‬
‫‪i‬‬
‫‪5‬‬ ‫‪309.988‬‬
‫‪6‬‬ ‫‪312.764‬‬
‫‪7‬‬ ‫‪315.539‬‬
‫‪8‬‬ ‫‪318.315‬‬
‫‪9‬‬ ‫‪321.091‬‬

‫‪‬‬
‫‪R2  corr Temp  Temp pred‬‬ ‫‪2‬‬
‫‪R2  0.986‬‬

‫‪142‬‬
‫الفصل السادس‬

‫وھنا تم تربيع معامل العالقة ‪ R‬وذلك لحساب معامل التحديد )‪Coefficient (R2‬‬
‫‪) Determination‬الذي يسمى عادة ‪ ( R- Square‬لإلنحدار الخطي ‪ .‬و عندما‬
‫تكون قيمة ‪ R2‬مساوية )‪ ، (1‬فإن ھذا يعني أن خط اإلنحدار في حالة تطابق تام‬
‫‪ Perfect Fit‬مع البيانات التجريبية ‪ .‬إن القيمة )‪ (0.986‬تشير الى أن خط اإلنحدار‬
‫في حالة تطابق جيد مع البيانات و برغم ذلك فإن رسم البيانات الحقيقية )العملية أو‬
‫التجريبية( مع خط اإلنحدار تبقى دائما ً فكرة جيدة ألغراض المقارنة مابين الحالتين‬
‫)النظرية و العملية( و النتيجة تبدو كما موضّح في الشكل التالي‪:‬‬

‫‪Time-Temperature Data‬‬
‫‪330‬‬

‫‪Temp‬‬ ‫‪320‬‬

‫‪Temp pred 310‬‬

‫‪300‬‬

‫‪290‬‬
‫‪0‬‬ ‫‪200‬‬ ‫‪400‬‬ ‫‪600‬‬
‫‪Time‬‬

‫و من خالل الشكل أعاله‪ ،‬يمكن أن نالحظ بأن المنحني الطبيعي )للنقاط التجريبية(‬
‫لدرجات الحرارة مقابل الزمن ھو ليس خطيا ً ‪ .‬و يبدو ھذا واضحا ً عندما نرسم‬

‫‪143‬‬
‫تطابق المنحنيات‬

‫األخطاء المتبقية ‪ Residuals‬مابين النتائج العملية و النتائج المتنبأ بھا لدرجات‬


‫الحرارة كمامبين في الشكل أدناه‪:‬‬

‫‪Residual i  Temp i  Temp pred‬‬


‫‪i‬‬

‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1.891‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0.115‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪2‬‬ ‫‪-0.661‬‬ ‫‪2‬‬ ‫‪2‬‬
‫‪3‬‬ ‫‪-0.436‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪Residual i ‬‬ ‫‪4‬‬ ‫‪-1.212 K‬‬ ‫‪i ‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪5‬‬ ‫‪-0.988‬‬ ‫‪5‬‬ ‫‪5‬‬
‫‪6‬‬ ‫‪-0.764‬‬ ‫‪6‬‬ ‫‪6‬‬
‫‪7‬‬ ‫‪0.461‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪8‬‬ ‫‪0.685‬‬ ‫‪8‬‬ ‫‪8‬‬
‫‪9‬‬ ‫‪0.909‬‬ ‫‪9‬‬ ‫‪9‬‬

‫‪2‬‬

‫‪1‬‬

‫‪Residual‬‬ ‫‪i‬‬ ‫‪0‬‬

‫‪1‬‬

‫‪2‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪8‬‬ ‫‪10‬‬
‫‪i‬‬

‫و يبدو من الشكل أعاله أن النقاط تتوزع بشكل مشتت و عشوائي كما أن شكل توزيع‬
‫ھذه النقاط يكون تقريبا ً بشكل حرف ‪ U‬و ھذا يعني أن المعادلة الخطية التي تم‬
‫إختيارھا لغرض التطابق مع البيانات التجريبية )درجة الحرارة مقابل الزمن( كان‬

‫‪144‬‬
‫الفصل السادس‬

‫إختيارأً غير صائب ‪ ، Poor Choice‬و عليه يمكن القول‪ ،‬بأن المعادلة الخطية ھي‬
‫إختيار غير جيد لتطابق ‪ Fitting‬ھذه البيانات الالخطية ‪ .‬إن المثال السابق قد استخدم‬
‫لتطبيق و مالحظة كيفية إستخدام برنامج ‪ Mathcad‬في تطبيق اإلنحدار الخطي‬
‫البسيط ‪ .‬و على الرغم من أننا يمكن أن نستخدم اإلنحدار الخطي البسيط ألي مجموعة‬
‫من البيانات إال أنھا فكرة غير جيدة و غير منطقية أن نعمل ھذا ألن البيانات الالخطية‬
‫تتطلب على سبيل المثال طرق تطابق المنحنيات ‪ Curve Fitting‬الالخطية أيضا ً ‪.‬‬

‫اإلنحدار الخطي العام ‪Generalized Linear Regression‬‬


‫إن الدالة )‪ ،linfit(vx,vy,vf‬تقوم بإداء اإلنحدار الخطي العام ألي نموذج خطي معين‬
‫‪ .‬على سبيل المثال‪ ،‬يمكننا تحسين تطابق خط اإلنحدار للبيانات السابقة )بيانات درجة‬
‫الحرارة‪-‬الزمن( بإستخدام المعادلة الخطية المتعددة الحدود من الدرجة الثانية‬
‫‪ Second Order Polynomial‬كما مبين في أدناه‪:‬‬

‫‪2‬‬
‫‪Temppred‬‬ ‫‪bo  b1 time  b2 tim e‬‬

‫إن وظيفة الدالة ) (‪ linfit‬ھو إيجاد المعامالت ‪ bo,b1,b2‬التي تعطي أفضل تطابق‬
‫للنموذج مع البيانات ‪ .‬و من الجدير بالذكر‪ ،‬أن الدالة ) (‪ linfit‬التعالج الوحدات‪ ،‬و‬
‫عليه نحتاج أوالً الى إزالة الوحدات من متجھات الزمن و درجة الحرارة‪:‬‬

‫‪Time‬‬ ‫‪Temp‬‬
‫‪time ‬‬ ‫‪temp ‬‬
‫‪min‬‬ ‫‪145‬‬ ‫‪K‬‬
‫تطابق المنحنيات‬

‫و من ثم نقوم بتعريف النموذج الخطي ‪ .‬إن المعادلة الخطية المتعددة الحدود )من‬
‫الدرجة الثانية ( تتكون من ثالث حدود ‪ terms‬ھي‪:‬‬
‫‪ ‬الحد األول ھو الثابت )‪. (1‬‬
‫‪ ‬الحد الثاني الزمن )‪. (time‬‬
‫‪ ‬الحد الثالث الزمن )‪. (time2‬‬

‫و يتم التعبير عن ذلك من خالل برنامج ‪ Mathcad‬بإستخدام متجه الدالة ) (‪f‬‬


‫‪ . vector‬و من ثم نقوم بتنفيذ اإلنحدار بإستخدام الدالة ) (‪ . linfit‬إن المعامالت‬
‫المحسوبة بواسطة الدالة ) (‪ fit‬تخزن في متجه إسمه )‪ . (b‬على سبيل المثال بالنسبة‬
‫لبيانات الزمن‪-‬درجات الحرارة يكون لدينا‪:‬‬

‫‪1 ‬‬
‫‪ ‬‬
‫‪f ( x )   x ‬‬
‫‪ 2‬‬
‫‪x ‬‬

‫) ‪b  linfit ( time  temp  f‬‬

‫‪ 297.518 ‬‬


‫‪b   1.719 ‬‬
‫‪ 0.117 ‬‬
‫‪‬‬ ‫‪‬‬

‫‪146‬‬
‫الفصل السادس‬

‫ويمكننا بعد ذلك إستخدام ھذه المعامالت‪:‬‬


‫‪. bo=297.518 ‬‬
‫‪. b1=1.719 ‬‬
‫‪. b2=0.117 ‬‬

‫مع المعادلة المتعددة الحدود‪ ،‬و ذلك للتنبأ بقيم درجات الحرارة عند كل فترة زمنية‪ ،‬و‬

‫‪‬‬
‫‪temppred  b0  b1  time i  b2  timei‬‬
‫‪i‬‬
‫‪2‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪297.518‬‬
‫‪1‬‬ ‫‪299.355‬‬
‫‪2‬‬ ‫‪301.426‬‬
‫‪3‬‬ ‫‪303.732‬‬
‫‪temppred  4‬‬ ‫‪306.273‬‬
‫‪i‬‬
‫‪5‬‬ ‫‪309.048‬‬
‫‪6‬‬ ‫‪312.059‬‬
‫‪7‬‬ ‫‪315.305‬‬
‫‪8‬‬ ‫‪318.785‬‬
‫‪9‬‬ ‫‪322.5‬‬

‫‪330‬‬

‫‪320‬‬
‫‪temp‬‬

‫‪temp pred 310‬‬

‫‪300‬‬

‫‪290‬‬ ‫‪147‬‬
‫‪0‬‬ ‫‪5‬‬ ‫‪10‬‬
‫‪time‬‬
‫تطابق المنحنيات‬

‫يتم ذلك بواسطة إستخدام متغير المدى )‪ (i‬الذي يقوم بحساب متجه درجة الحرارة عند‬
‫كل قيمة من الزمن‪:‬‬

‫و من ثم يمكننا رسم العالقة مابين الزمن و كل من درجات الحرارة التجريبية و‬


‫درجات الحرارة المتنبأ بھا كما مبين في الشكل أعاله ‪ .‬و كما نالحظ من الشكل بأن‬
‫المعادلة الخطية المتعددة الحدود تبدي تطابقا ً ‪ Fitting‬للبيانات التجريبية أفضل من‬
‫المعادلة الخطية البسيطة )‪ . (Tem=b+mTime‬و ھنا يمكننا أيضا ً تحديد درجة‬
‫التطابق ‪ goodness of Fitting‬بإستخدام الدالة ) (‪: corr‬‬

‫‪‬‬
‫‪r2  corr temp  temppred‬‬ ‫‪2‬‬
‫‪r2  0.998‬‬

‫إن قيمة ‪ r2‬كما نالحظ ھي أقرب الى الواحد من القيمة التي تم الحصول بإستخدام‬
‫نموذج اإلنحدار الخطي البسيط )‪ ، (0.986‬و ھذا يعني أن المعادلة الخطية المتعددة‬
‫الحدود ‪ Polynomial‬تعطي تطابق ‪ Fitting‬أفضل للبيانات التجريبية من معادلة‬
‫الخط المستقيم التي تم الحصول عليھا بإستخدام اإلنحدار الخطي البسيط ‪.‬‬

‫‪148‬‬
‫الفصل السادس‬

‫‪Other Linear Models‬‬ ‫نماذج خطية أخرى‬


‫إن النماذج الخطية المستخدمة في األمثلة السابقة كانت بالتحديد‪:‬‬

‫‪temppred‬‬ ‫‪b  m  time‬‬

‫‪2‬‬
‫‪temppred‬‬ ‫‪b0  b1  time  b2  time‬‬

‫و كالھما نماذج خطية ) خطية في المعامالت ‪ Coefficients‬و ليس في الزمن‬


‫‪ . ( time‬و نظراً لكون الدالة ) (‪ linfit‬تعمل مع أي نموذج خطي‪ ،‬فيمكننا إجراء‬
‫تطابق المعادالت مثل‪:‬‬

‫‪2‬‬
‫‪temppred‬‬ ‫)‪b0  b1  sinh ( time)  b2  atan ( time‬‬

‫‪or‬‬

‫‪temppred‬‬ ‫‪‬‬
‫‪b0  exp time‬‬
‫‪0.5‬‬ ‫‪  b1 ln time3‬‬
‫مرة أخرى‪ ،‬ھذه المعادالت خطية في المعامالت )‪ (b0,b1,b2‬و لھذا يمكن إستخدام‬
‫الدالة ) (‪ linfit‬في تنفيذ التطابق في ھذه المعادالت ‪ .‬حيث أن دوال )‪ f(x‬بالنسبة‬
‫للمعادالت أعاله تبدو كاآلتي‪:‬‬

‫‪ 1 ‬‬ ‫‪  ‬‬


‫‪ exp x 0.5‬‬
‫‪‬‬
‫‪f ( x )   sinh ( x ) ‬‬ ‫‪f ( x ) ‬‬
‫‪‬‬ ‫‪3‬‬ ‫‪‬‬
‫‪ atan ( x ) ‬‬ ‫‪ x‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬ ‫‪149‬‬
‫تطابق المنحنيات‬

‫أما نتائج التطابق فتبدو كاآلتي‪:‬‬

‫‪‬‬ ‫‪1‬‬ ‫‪‬‬


‫) ‪f ( x )   sinh ( x‬‬ ‫‪‬‬
‫) ‪ atan ( x‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫) ‪b  linfit ( time  temp  f‬‬

‫‪ 294.874‬‬ ‫‪‬‬


‫‪‬‬ ‫‪‬‬
‫‪b   3.773  10 ‬‬ ‫‪3‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪‬‬ ‫‪9.764‬‬ ‫‪‬‬

‫‪‬‬ ‫‪‬‬
‫‪temp pred  b 0  b 1  sinh time i  b 2  atan time i‬‬
‫‪i‬‬
‫‪‬‬ ‫‪‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪294.874‬‬
‫‪1‬‬ ‫‪302.547‬‬ ‫‪340‬‬
‫‪2‬‬ ‫‪305.698‬‬
‫‪3‬‬ ‫‪307.107‬‬ ‫‪temp‬‬ ‫‪320‬‬
‫‪temp pred ‬‬ ‫‪4‬‬ ‫‪307.922‬‬
‫‪i‬‬ ‫‪temp pred‬‬
‫‪5‬‬ ‫‪308.563‬‬ ‫‪300‬‬
‫‪6‬‬ ‫‪309.359‬‬
‫‪7‬‬ ‫‪310.894‬‬ ‫‪280‬‬
‫‪0‬‬ ‫‪5‬‬ ‫‪10‬‬
‫‪8‬‬ ‫‪314.62‬‬
‫‪time‬‬
‫‪9‬‬ ‫‪324.416‬‬

‫‪‬‬
‫‪R_Square  corr temp  temp pred‬‬ ‫‪2‬‬
‫‪R_Square‬‬ ‫‪ 0.82‬‬

‫وليس ھناك من شك‪ ،‬بأن أي من النماذج الخطية األخيرة‪ ،‬سوف يعطي تطابق معين‪،‬‬
‫باالنسبة لبيانات درجات الحرارة و الزمن ‪ .‬وبصورة عامة‪ ،‬أنت تختار نموذجك‬
‫الخطي أما من نظرية ما تقترح العالقة مابين متغيراتك أو من خالل النظر الى الرسم‬
‫مابين مجموعة البيانات ‪.‬‬

‫‪150‬‬
‫الفصل السادس‬

‫معادالت اإلنحدار الخاصة ‪Specialized Regression Equations‬‬


‫إن برنامج ‪ Mathcad‬يزودنا بعدد من الدوال المستخدمة في إيجاد معامالت‬
‫المعادالت المستخدمة بشكل شائع في التطابق ‪ . Fitting‬إن ھذه الدوال تستخدم الطرق‬
‫التكرارية ‪ Iterative Methods‬إليجاد المعامالت التي تعطي أفضل تطابق‬
‫للبيانات‪ ،‬و عليه يجب إستخدام مجموعة من القيم التخمينية األولية ‪Initial Guess‬‬
‫للمعامالت ‪ .‬و مثال على ذلك‪ ،‬ندرس تطابق البيانات التالية مع المنحني األسي‬
‫‪ . Exponential Curve‬إن ھذه البيانات قد تم رسمھا في الشكل التالي‪ ،‬و يبدو من‬
‫الشكل أن قيم ‪ y‬تزداد بشكل أسي‪ ،‬و لھذا فإن إستخدام المنحني األسي يمكن أن يكون‬
‫إختياراً جيداً كما مبين في أدناه‪:‬‬

‫‪151‬‬
‫تطابق المنحنيات‬

 0  0
 1  0 0
 
1 1
 2 
 3  2 2
 4
 3 3
  4 4
x   5  x 
5 5
 6 
  6 6
 7  7 7
 8  8 8
 9 
9 9
 
 10  10 10

 5.32  0
 5.83  0 5.32
 
1 5.83
 6.09 
 7.12  2 6.09
 7.62
 3 7.12
  4 7.62
y   9.15  y 
5 9.15
 9.95 
  6 9.95
 11.8  7 11.8
 13.39  8 13.39
 15.19 
9 15.19
 
 18.12  10 18.12

20

y 10

0
0 5 10
x

152
‫الفصل السادس‬

‫إن الدالة ) (‪ expfit‬تستخدم إليجاد قيم المعامالت ‪ a,b,c‬التي تعطي أفضل تطابق‬
‫للمعادلة التالية‪:‬‬

‫‪bx‬‬
‫‪y‬‬ ‫‪ae‬‬ ‫‪ c‬‬
‫‪pred‬‬

‫و من ثم يتم إرسال كل من متجه قيم ‪ x‬و متجه قيم ‪ y‬و متجه القيم التخمينية الى الدالة‬
‫) (‪ expfit‬و ھذه الدالة تعيد بدورھا معامالت المعادلة األسية‪:‬‬

‫‪1‬‬ ‫‪‬‬
‫‪vg   1‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪1‬‬ ‫‪‬‬

‫) ‪coeffs  expfit ( x  y  vg‬‬

‫‪ 2.396‬‬ ‫‪‬‬


‫‪coeffs   0.184‬‬ ‫‪‬‬
‫‪‬‬ ‫‪‬‬
‫‪ 2.858‬‬ ‫‪‬‬

‫إن ھذه المعامالت يمكن أن تستخدم مع قيم ‪ x‬المعلومة في معادلة التطابق ‪Fitting‬‬
‫‪ Equation‬و ذلك للتنبأ بقيم ‪ y‬التي تسمى ‪: ypred‬‬

‫‪153‬‬
‫تطابق المنحنيات‬

‫‪a  coeffs‬‬ ‫‪a  2.396‬‬


‫‪0‬‬

‫‪b  coeffs‬‬ ‫‪b  0.184‬‬


‫‪1‬‬

‫‪c  coeffs‬‬ ‫‪c  2.858‬‬


‫‪2‬‬

‫‪b x‬‬
‫‪y pred  a e‬‬ ‫‪c‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪5.254‬‬
‫‪1‬‬ ‫‪5.739‬‬
‫‪2‬‬ ‫‪6.323‬‬
‫‪3‬‬ ‫‪7.025‬‬
‫‪4‬‬ ‫‪7.869‬‬
‫‪y pred ‬‬
‫‪5‬‬ ‫‪8.884‬‬
‫‪6‬‬ ‫‪10.104‬‬
‫‪7‬‬ ‫‪11.572‬‬
‫‪8‬‬ ‫‪13.337‬‬
‫‪9‬‬ ‫‪15.46‬‬
‫‪10 18.013‬‬

‫و بعد ذلك يمكننا رسم العالقة مابين ‪ x‬و كل من ‪ y‬و ‪ ypred‬كما مبين في الشكل أدناه‪:‬‬

‫‪154‬‬
‫الفصل السادس‬

‫‪20‬‬

‫‪15‬‬
‫‪y‬‬

‫‪y pred‬‬

‫‪10‬‬

‫‪5‬‬
‫‪0‬‬ ‫‪5‬‬ ‫‪10‬‬
‫‪x‬‬

‫إن الجدول التالي يبين خالصة معادالت التطابق الخاصة المستخدمة في برنامج‬
‫‪ . Mathcad‬و نالحظ من الجدول أن المتجھات في كل دالة ھي نفسھا‪ ،‬حيث أن‬
‫المتجھات بالنسبة للمعامالت ‪ a,b,c‬ھي‪:‬‬

‫‪ ‬متجه قيم ‪. (vx) x‬‬


‫‪ ‬متجه قيم ‪. (vy) y‬‬
‫‪ ‬متجه القيم التخمينية األولية )‪. (vg‬‬

‫‪155‬‬
‫تطابق المنحنيات‬

‫( ھي إختيارية بالنسبة للدالة األسية‬vg) ‫ القيم التخمينية األولية‬،‫و جدير بالذكر أن‬
. ‫ أي يمكن إستخدامھا أو عدم إستخدامھا‬expfit( )

Function Equations of Curves


bx
Exponential expfit(vx,vy,vg) ypred=ae +c
-a
Logistic lgsfit(vx,vy,vg) ypred=a/(1+be )
bx
Logarithmic logfit(vx,vy,vg) ypred=aln(x) +c
b
Power pwrfit(vx,vy,vg) ypred=ax +c
Sine sinfit(vx,vy,vg) ypred=asin(x+b)+c

Other Examples ‫أمثلة أخرى‬


‫ حيث تتضمن األمثلة كيفية إجراء‬،‫في أدناه أمثلة أخرى حول تطابق المنحنيات‬
Power ‫ وإنحدار القوة‬Exponential Regression ‫اإلنحدار األسي‬
: Regression

156
‫الفصل السادس‬

Exponential Regression for the data of Counts per second,C, vs. Plate
Thickness on a semi-log graph and determining an equation representing
the
data.

ORIGIN  1 N  1  6

 2   5500 
   
 5   3700 
 10   2550 
W    C   
 20   1300 
 27.5   715 
   
 32   470 

LNC N  ln C N  

LNC N 
8.613
8.216
7.844
7.17
6.572
6.153

m  slope ( W  LNC ) m   0.078


lnb  intercept ( W  LNC ) lnb  8.682
lnb  8.682

lnb 3
b  e b  5.896  10

m W N
CNEW N  b  e

4 Counts per second vs Plate thickness


CNEW N  1  10
5.045·10 3
Counter,C (1/s)

3.993·10 3
2.704·10 3 3
1  10
1.24·10 3
691.182
486.692
100
10 20 30
Plate Thickness ,W (mm)

157
‫تطابق المنحنيات‬

Power Regression for the data of Resistance (mW/m), (R),vs. Area (mm) ,
(A), for a conductor on log-log graph and determining an equation
representing the
data.

ORIGIN 1 N  1  7

 0.021  505 
 0.062  182 
   
 0.202  55.3 
A   0.523 R   22.2 
   
 1.008  11.3 
 3.320  4.17 
   
 7.290  1.75 

LOGRN  log RN   LOGAN  log AN  


m  slope( LOGA LOGR) m  0.963
LOGRN  LOGAN 
2.703 -1.678 logb  intercept( LOGA LOGR) logb  1.084
logb  1.084
2.26 -1.208
logb
1.743 -0.695 b  10 b  12.134 501.658
176.78
1.346 -0.281
RNEWN  b  AN m 56.655
1.053 3.461·10 -3
RNEWN  22.657
0.62 0.521
12.041
0.243 0.863
3.819
1.79
Electrical Conductor Resistance vs Area
1 10
3
Resistance (mW/m)

100

10

1
0.01 0.1 1 10
Area(mm2)

Summary ‫الخالصة‬

158
‫الفصل السادس‬

‫الدالة )‪slope(vx,vy‬‬
‫تعيد ميل أفضل تطابق )مربع الخطأ الكلي أفضل مايمكن( للخط المستقيم خالل البيانات‬
‫في متجه ‪ (vx) x‬و متجه )‪. (vy‬‬

‫الدالة )‪intercept(vx,vy‬‬
‫تعيد نقطة التقاطع مع محور ‪ y‬ألفضل تطابق للخط المستقيم خالل البيانات في متجه ‪x‬‬
‫)‪ (vx‬و متجه )‪. (vy‬‬

‫الدالة )‪corr(vx,vy‬‬
‫تعيد معامل العالقة )الذي يسمى عادة ‪ ( R‬ألفضل تطابق للخط المستقيم خالل البيانات‬
‫في متجه ‪ (vx) x‬و متجه )‪ . (vy‬إن معامل التحديد ‪Coefficient of‬‬
‫‪ (R2) Determination‬يمكن أن يحسب من ‪ R‬و ھو األكثر شيوعا ً و إستخداما ً ‪.‬‬

‫)‪linfit(vx,vy,vg‬‬
‫تعيد معامالت أفضل تطابق للنموذج الخطي الذي يوصف بواسطة ‪ vf‬للبيانات في‬
‫متجه ‪ (vx) x‬و متجه )‪ . (vy‬إن المتجه ‪ vf‬ھو متجه الدوال التي تصف النموذج‬
‫الخطي الذي نري إستخدامه ألغراض التطابق ‪ Fitting‬للبيانات ‪.‬‬

‫)‪expfit(vx,vy,vg‬‬
‫تطابق المنحني األسي )‪ (ypred=a ebx+C‬مع البيانات الموجودة في متجه ‪ (vx) x‬و‬
‫متجه )‪ . (vy‬حيث أن المتجه المكون من ثالث عناصر من القيم التخمينية للمعامالت‬
‫)‪ (a,b,c‬يمكن إستخدامه )حالةإختيارية( ‪.‬‬

‫)‪lgsfit(vx,vy,vg‬‬

‫‪159‬‬
‫تطابق المنحنيات‬

‫تطابق المنحني المنطقي ‪ (ypred=a/(1+b e-cx)) logistic Curve‬مع البيانات‬


‫الموجودة في متجه ‪ (vx) x‬و متجه )‪ . (vy‬حيث أن المتجه المكون من ثالث عناصر‬
‫من القيم التخمينية للمعامالت )‪(a,b,c‬يجب إستخدامه )حالة غير إختيارية( ‪.‬‬

‫)‪logfit(vx,vy,vg‬‬
‫‪b‬‬
‫تطابق المنحني اللوغاريتمي) ‪ (ypred=a ln (x) +c‬مع البيانات الموجودة في متجه‬
‫‪ (vx) x‬و متجه )‪ . (vy‬حيث أن المتجه المكون من ثالث عناصر من القيم التخمينية‬
‫للمعامالت )‪(a,b,c‬يجب إستخدامه )حالة غير إختيارية( ‪.‬‬

‫)‪pwrfit(vx,vy,vg‬‬
‫‪b‬‬
‫تطابق منحني القوة )‪ Power Curve (ypred=a x +c‬مع البيانات الموجودة في‬
‫متجه ‪ (vx) x‬و متجه )‪ . (vy‬حيث أن المتجه المكون من ثالث عناصر من القيم‬
‫التخمينية للمعامالت )‪(a,b,c‬يجب إستخدامه )حالة غير إختيارية( ‪.‬‬

‫)‪sinfit(vx,vy,vg‬‬
‫تطابق المنحني األسي ) )‪ Exponential Curve (ypred=a sin(x+b‬مع‬
‫البيانات الموجودة في متجه ‪ (vx) x‬و متجه )‪ . (vy‬حيث أن المتجه المكون من ثالث‬
‫عناصر من القيم التخمينية للمعامالت )‪(a,b,c‬يجب إستخدامه )حالة غير إختيارية( ‪.‬‬

‫‪160‬‬
‫التكامل العددي‬

‫التكامل العددي ‪Numerical Integration‬‬


‫يعتبر التكامل العددي من المواضيع الدقيقة جداً في برنامج ‪ ،Mathcad‬ألنه في أغلب‬
‫األحيان‪ ،‬نجد أن العالقة مابين المتغير المستقل ‪ Independent Variable‬و‬
‫‪ Dependent Variable‬تعرّف من خالل مجموعة من نقاط‬ ‫المتغير التابع‬
‫البيانات ‪ .‬ففي الفصول السابقة‪ ،‬إستخدمنا مجموعة التي تمثل العالقة مابين درجة‬
‫الحرارة و الزمن ‪ .‬و عندما نريد إجراء التكامل لدرجات الحرارة عند تلك الفترات‬
‫الزمنية فإن أماننا خيارين‪:‬‬
‫‪ ‬إجراء التطابق ‪ Fitting‬للبيانات مع المعادلة المناسبة و من ثم إجراء التكامل‬
‫للمعادلة ‪.‬‬
‫‪ ‬إستخدام طريقة التكامل على مجموعة البيانات نفسھا ‪.‬‬

‫إن كال الطريقتين ھي شائعة اإلستخدام و عليه سيتم التطرق لھا في المقاطع الشائعة ‪.‬‬

‫التكامل ‪Integration‬‬
‫كما ذكرنا في أعاله‪ ،‬ھناك نوعين من التكامل العددي‪:‬‬
‫‪ ‬التكامل العددي للدوال ‪. Integrating Functions Numerically‬‬
‫‪ ‬التكامل العددي لمجموعة البيانات ‪. Integrating Data Sets‬‬

‫التكامل العددي للدوال ‪Integrating Functions Numerically‬‬


‫إذا كان لدينا دالة متعددة الحدود مثل الدالة المتعددة الحدود التي تربط مابين درجة‬
‫الحرارة والزمن التي تم دراستھا في الفصول السابقة‪ ،‬فإن إجراء التكامل لدرجات‬
‫الحرارة عند الفترات الزمنية التي تتراوح مابين )‪ (0-9 min.‬أمر في غاية السھولة‬

‫‪164‬‬
‫الفصل السابع‬

‫بإستخدام برنامج ‪ . Mathcad‬بعد الحصول على مصفوفات البيانات و جمل اإلنحدار‬


‫‪ Regression‬التي تم التطرق إليھا سابقا ً يمكننا إجراء التكامل للدالة كما مبين في‬
‫أدناه ‪.‬‬

‫إن الرمز ‪ ، t‬قد استخدم لإلشارة الى الزمن ‪ ، Time‬و يمكننا إختيار أي رمز نريده ‪.‬‬
‫إن عملية التكامل تسمح لنا بإستخدام الوحدات‪ ،‬و بالنظر لوجود الدالة ) (‪ linfit‬التي‬
‫تدعم الوحدات فإن المسألة تحل عادة من دون إستخدام الوحدات ‪.‬‬

‫‪165‬‬
‫التكامل العددي‬

0  0
1 
0 0
 
2  1 1
3  2 2
  3 3
Time 
4   min Time
 4 4
5  min
  5 5
6  6 6
7  7 7
8 
8 8
 
9  9 9

 298  0
 299 
0 298
 
 301  1 299
 304  2 301
  3 304
Temp 
 306  K Temp
 4 306
 309  K
  5 309
 312  6 312
 316  7 316
 319 
8 319
 
 322  9 322

 1 
 
F ( x )   x 
 2 
x 
 Time  Temp  F 
b  linfit  
 min K 

 297.518  
9
b   1.719    b 0  b 1  t  b 2  t 2  dt  2.776  10 3
 
  
 0.117  0

166
‫الفصل السابع‬

‫التكامل العددي لمجموعة البيانات ‪Integrating Data Sets‬‬


‫حيث يمكن أن يقسم الى‪:‬‬

‫‪ ‬التكامل بواسطة تطابق المنحني ‪Integrating via Curve Fitting‬‬


‫‪ ‬التكامل من دون إستخدام تطابق المنحني ‪Integrating without‬‬
‫‪. Curve Fitting‬‬

‫التكامل بواسطة تطابق المنحني ‪Integrating via Curve Fitting‬‬


‫إن أحد األساليب المستخدمة في إجراء التكامل لمجموعة البيانات يتم بإجراء التطابق‬
‫أوالً لمجموعة البيانات بإستخدام المعادلة المناسبة و من ثم إجراء التكامل لتلك المعادلة‬
‫‪ .‬إن ھذا اإلسلوب قد تم التطرق إليه في المثال السابق ‪ .‬حيث تم إستخدام المعادلة‬
‫المتعددة الحدود ‪ Polynomial‬إلجراء التطابق على بيانات درجة الحرارة‪-‬الزمن و‬
‫من ثم إجراء التكامل للمعادلة المتعددة الحدود بإستخدام تعليمة التكامل في برنامج‬
‫‪. Mathcad‬‬

‫التكامل من دون إستخدام تطابق المنحني ‪Integrating without Curve‬‬


‫‪Fitting‬‬
‫إن اإلسلوب البديل إلجراء التكامل بإستخدام تطابق المنحني ھو ببساطة إستخدام قيم‬
‫مجموعة البيانات نفسھا في حساب التكامل ‪ .‬و تعتمد ھذه الطريقة على فكرة التكامل‬
‫الذي يمثل المساحة تحت المنحني ‪ .‬أي المساحة المحصورة مابين المنحني و محور‬
‫‪) x‬محور الزمن ‪ ( Time‬بعد رسم نقاط البيانات كمامبين في أدناه‪:‬‬

‫‪167‬‬
‫التكامل العددي‬

‫‪330‬‬

‫‪320‬‬

‫‪Temp‬‬
‫‪310‬‬
‫‪K‬‬

‫‪300‬‬

‫‪290‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪8‬‬
‫‪Time‬‬
‫‪min‬‬

‫إن أي طريقة تستخدم في حساب المساحة تحت المنحني يمكن إستخدامھا في حساب‬
‫قيمة التكامل ‪ .‬و ھناك عدد من الطرق المستخدمة بشكل شائع ‪ .‬و إحدى ھذه الطرق‬
‫يعتمد على مبدأ تقسيم المساحة تحت المنحني الى سالسل من شبه المنحرف‬
‫‪ . Trapezoid‬حيث أن مساحة كل شبه منحرف تحسب من خالل قيم البيانات و‬
‫مجموع ھذه المساحات يمثل نتيجة التكامل ‪ .‬و بالنظر لوجود ‪ 10‬نقاط في مجموعة‬
‫البيانات فإن عدد مساحات شبه المنحرف سيكون ‪ 9‬و ھو يغطي مدى الفترة الزمنية في‬
‫مجموعة البيانات )‪ . (0-9 min.‬و يمكن تعريف ھذه المناطق التسعة بواسطة تعريف‬
‫متغير المدى‪:‬‬

‫‪i  0  8‬‬

‫‪168‬‬
‫الفصل السابع‬

‫و بشكل بديل يمكن تعريف متغير المدى بشكل أكثر شمولية‪:‬‬

‫)‪i  0  ( last ( Time)  1‬‬

‫و من ثم نستخدم الدالة التي تحسب مساحة شبه المنحرف الموجودة في أقصى اليسار‪:‬‬

‫‪‬‬ ‫‪1   Temp0‬‬ ‫‪Temp1   Time1 Time0 ‬‬


‫‪A 0     ‬‬ ‫‪‬‬ ‫‪ ‬‬ ‫‪‬‬ ‫‪‬‬
‫‪ 2  K‬‬ ‫‪K   min‬‬ ‫‪min ‬‬

‫‪A0  298.5‬‬

‫و يمكن تعميم ھذه المعادلة للحصول على دالة يمكنھا حساب أي مساحة من مساحات‬
‫شبه المنحرف التسعة‪:‬‬

‫‪169‬‬
‫التكامل العددي‬

‫‪‬‬ ‫‪1   Tempi‬‬ ‫‪Tempi  1   Timei  1‬‬ ‫‪Timei ‬‬


‫‪A i     ‬‬ ‫‪‬‬ ‫‪ ‬‬ ‫‪‬‬ ‫‪‬‬
‫‪ ‬‬
‫‪2‬‬ ‫‪K‬‬ ‫‪K‬‬ ‫‪‬‬ ‫‪min‬‬ ‫‪min‬‬ ‫‪‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪298.5‬‬
‫‪1‬‬ ‫‪300‬‬
‫‪2‬‬ ‫‪302.5‬‬
‫‪3‬‬ ‫‪305‬‬
‫‪Ai ‬‬
‫‪4‬‬ ‫‪307.5‬‬
‫‪5‬‬ ‫‪310.5‬‬
‫‪6‬‬ ‫‪314‬‬
‫‪7‬‬ ‫‪317.5‬‬
‫‪8‬‬ ‫‪320.5‬‬

‫و المرحلة األخيرة‪ ،‬ھي إيجاد مجموع مساحات شبه المنحرف و ذلك‪ ،‬لحساب المساحة‬
‫الكلية ‪ Total Area‬تحت المنحني ‪ .‬إن عملية الجمع ھذه يمكن تنفيذھا في برنامج‬
‫‪Range Variable‬‬ ‫‪ Mathcad‬بإستخدام عامل الجمع لمتغير المدى‬
‫‪ Summation Operator‬من شريط أدوات الحساب المبين في أدناه‪:‬‬

‫‪170‬‬
‫الفصل السابع‬

‫‪‬‬
‫‪3‬‬
‫‪Ai  2.776  10‬‬
‫‪i‬‬

‫إن النتيجة جيدة مقارنة مع النتيجة التي تم الحصول عليھا بإستخدام التكامل بواسطة‬
‫تطابق المنحني ‪ Integrating via Curve Fitting‬للمعادلة المتعددة الحدودد ‪.‬‬
‫مرة أخرى عملية الحساب قد تم إجراؤھا من دون إستخدام الوحدات و يمكننا في ھذا‬
‫المثال إستخدامھا ‪.‬‬

‫دالة قاعدة شبه المنحرف ‪A Trapezoidal Rule Function‬‬


‫يمكننا كتابة قانون عام‪ ،‬يمكن من خالله إجراء عملية التكامل ألي مجموعة من البيانات‬
‫و ھذا القانون يسمى التكامل بواسطة قاعدة شبه المنحرف ‪Trapezoidal Rule‬‬
‫‪ Integration‬حيث يتم فيه إستخدام الدلة ) (‪: trap‬‬

‫‪171‬‬
‫التكامل العددي‬

‫‪length( x) 2‬‬
‫‪yi  yi 1 xi 1  xi‬‬
‫‪trap(x  y) ‬‬
‫‪‬‬ ‫‪2‬‬
‫‪i0‬‬

‫‪ Time Temp‬‬


‫‪Atotal  trap‬‬ ‫‪‬‬
‫‪ min K ‬‬

‫‪3‬‬
‫‪Atotal  2.776 10‬‬

‫إن الدالة ) (‪ trap‬لھا متغير مدى يستبدل من خالل حدود معرّ فة في عامل الجمع‬
‫القياسي ‪ Stabdard Summation‬الموجود في شريط أدوات الحساب المبين في‬
‫أدناه ‪:‬‬

‫‪172‬‬
‫الفصل السابع‬

‫أما دالة الطول ) (‪ ،length‬فإنھا تستخدم في في تحديد حجم المصفوفة و التي منھا‬
‫يمكن حساب عدد مساحات شبه المنحرف ز إن التعابير التالية‪:‬‬

‫‪length(x)-2‬‬ ‫‪used in the trap( ) function‬‬


‫‪last(x)-1‬‬ ‫‪used in the previous example‬‬

‫ھي تعابير مكافئة طالما أن قيمة المصفوفة األصلية مساوية تساوي صفر أي‬
‫‪ . Origion=0,0‬و كما نالحظ‪ ،‬في قاعدة شبه المنحرف بإستخدام الدالة ) (‪ trap‬أن‬
‫دليل المصفوفة )‪ (i‬يبدأ بالصفر ‪.‬‬

‫التكامل بإستخدام قاعدة سمسن ‪Simpson’s Rule‬‬


‫‪Integration‬‬
‫تعتبر قاعدة سمسن‪ ،‬تقنية تكامل عددي شائعة اإلستخدام و تعتمد على مبدأ أخذ ثالث‬
‫نقاط من مجموعة البيانات و إجراء تطابق المنحني خالل النقاط و من ثم حساب‬
‫المساحة للمنطقة تحت المنحني ‪ .‬إن ھذه العملية تتكرر لكل ثالث نقاط من مجموعة‬
‫البيانات ‪ .‬إن الصيغة العامة لقاعدة سمسن تأخذ الشكل التالي‪:‬‬

‫‪173‬‬
‫التكامل العددي‬

‫‪h‬‬
‫‪A total‬‬ ‫) ‪  (y i 1  4y i  y i 1‬‬
‫‪3 allregions‬‬

‫و الذي يجلب اإلنتباه ھنا ھو إستخدام عبارة جميع المناطق )‪ (All Regions‬في‬
‫عالمة الجمع ‪ ،‬و ھو أمر ضروري ھنا‪ ،‬ألننا ھنا نتعامل مع تكامل المنطقة بإستخدام‬
‫طريقة سمسن و ھذا يتطلب إستخدام ثالث نقاط من مجموعة البيانات ‪ .‬و بإستخدام‬
‫دليل مصفوفة برنامج ‪ Mathcad‬اإلفتراضية نالحظ بأن‪:‬‬
‫‪ ‬األرقام ‪ 0,1,2‬تشير الى تكامل المنطقة األولى ‪.‬‬
‫‪ ‬األرقام ‪ 3,4,5‬تشير الى تكامل المنطقة الثانية ‪.‬‬
‫و قس على ذلك ‪.‬‬
‫إن عدد مناطق التكامل ھو بشكل تقريبي نصف عدد نقاط البيانات ‪ .‬و المسافة مابين‬
‫نقطتين متجاورتين يعبّر عنھا بالرمز )‪ . (h‬و ھناك شرطين يجب توفرھما لغرض‬
‫إستخدام قاعدة سمسن‪:‬‬
‫‪ (1‬عدد البيانات يجب أن يكون فردي ‪.‬‬
‫‪ (2‬قيم المتغير المستقل )الذي يكون عادة ‪ ( x‬يجب أن تكون متجانسة أي ‪. h=x‬‬

‫و سنبين فيما بعد كيفية تجاوز ھذه الشروط ‪ ،‬و لكننا اآلن‪ ،‬سنأخذ مثاالً‪ ،‬حول تطبيق‬
‫قاعدة سمسن عند توفر الشروط ‪ .‬اآلن‪ ،‬نحاول الحصول على مجموعة بيانات مكونة‬
‫من )‪ (7‬قيم ولھا درجة إنحناء شديدة كمامبين في الشكل التالي‪:‬‬

‫‪174‬‬
‫الفصل السابع‬

‫‪i  0  6‬‬

‫‪x i  1  i‬‬

‫‪y i  1  cos x i‬‬ ‫‪ ‬‬

‫‪2‬‬

‫‪1.5‬‬

‫‪y‬‬ ‫‪1‬‬

‫‪0.5‬‬

‫‪0‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬
‫‪x‬‬

‫و من ثم نقوم بحساب قيمة )‪ (h‬من أي قيمتين من قيم )‪ ، (x‬نظراً لكون قيمة )‪ (h‬يجب‬
‫أن تكون ثابتة و بعد ذلك نحاول الحصول على متغير مدى ) ‪ ( j‬يمثل دليل النقطة عند‬
‫مركز كل منطقة من مناطق التكامل‪:‬‬

‫‪175‬‬
‫التكامل العددي‬

Integrating Regions,
Point Numbers Central Point
0,1,2 1
2,3,4 3
4,5,6 5

h  x 1  x 0

j  1  3  5

h1

j
1
3
5

176
‫الفصل السابع‬

‫اآلن‪ ،‬نقوم بتطبيق قاعدة سمسن‪ ،‬لغرض تحديد المساحة تحت المنحني‪:‬‬

‫‪ h‬‬
‫‪Asimpson  ‬‬
‫‪ ‬‬
‫‪3‬‬
‫‪‬‬ ‫‪ y j1  4y j  y j 1‬‬
‫‪j‬‬

‫‪Asimpson  5.814‬‬

‫اآلن‪ ،‬يمكن أن نقارن النتائج مع التكامل بواسطة قاعدة شبه المنحرف و التكامل الدقيق‬
‫)الصحيح( ‪: Exact Integration‬‬

‫) ‪Atrap  trap ( x  y‬‬

‫‪Atrap  5.831‬‬

‫‪7‬‬
‫‪‬‬
‫‪Aexact   ( 1  cos ( x ) ) dx‬‬
‫‪‬‬
‫‪1‬‬

‫‪Aexact  5.816‬‬
‫‪177‬‬
‫التكامل العددي‬

‫من ھنا‪ ،‬نستنتج أن طريقة التكامل العددي بواسطة سمسن ھي أرقرب الى الحل الدقيق‬
‫‪ Exact Solution‬من طريقة التكامل العددي بواسطة قاعدة شبه المنحرف ‪ .‬و ھذا‬
‫يعزى الى أن طريقة التكامل العددي بواسطة قاعدة سمسن تربط نقاط البيانات مع‬
‫منحنيات أكثر نعومة ‪ Smooth Curves‬بدالً من الخطوط المستقيمة و لھذا فإنھا‬
‫تعطي تطابق أفضل للبيانات مقارنة مع قاعدة شبه المنحرف ‪ .‬إال أن قاعدة سمسن لھا‬
‫شرطين و ھذا يحد من إستخدامھا في العديد من الحاالت ‪ ،‬و السؤال الذي يطرح نفسه‬
‫ھل ھناك إسلوب لتجاوز ھذه الشروط؟ نعم ھناك حل‪ ،‬حيث يمكننا عمل التطابق‬
‫‪ Fitting‬بواسطة الشريحة المكعبة ‪ Cubic Spline‬ألي مجموعة من البيانات‬
‫بإستخدام المنحني السيط و من ثم إستخدام اإلستكمال بطريقة الشريحة المكعبة ‪Cubic‬‬
‫‪ Spline Interpolation‬و ذلك لحساب مجموعة القيم التي تعطي نفس المدى‬
‫للبيانات األصلية و لكن لھا عدد مفرد ‪ Odd Number‬من نقاط البيانات و فرق‬
‫متجانس للبيانات ‪.‬‬

‫و لغرض إختبار ھذه الطريقة‪ ،‬سنعود الى بيانات درجة الحرارة و الزمن التي تم‬
‫مناقشتھا في المثال السابق ‪ .‬إن ھذه البيانات تتكون من )‪ (10‬قيم متجانسة الفرق مابين‬
‫قيم )‪ (x‬و ھي ھنا تمثل الزمن أي أن الفرق مابين فترة زمنية و أخرى متساوي ‪ .‬و‬
‫لكن الرقم )‪ (10‬ھو عدد زوجي و ھذا الينطبق مع شرط التكامل العددي بواسطة‬
‫سمسن و لھذا نقوم بإجراء التطابق بالشريحة ‪ Spline Fit‬للبيانات كما مبين في أدناه‪:‬‬

‫‪178‬‬
‫الفصل السابع‬

‫‪179‬‬
‫التكامل العددي‬

0 0
1
0 0
 
2 1 1
3 2 2
  3 3
Time 
 4   min Time
 4 4
5 min
  5 5
6 6 6
7 7 7
8
8 8
 
9 9 9

 298  0
 299 
0 298
 
 301  1 299
 304  2 301
  3 304
Temp 
 306 
K
Temp
 4 306
 309  K
  5 309
 312  6 312
 316  7 316
 319 
8 319
 
 322  9 322

0
0 0
1 3
2 2
3 0.104
 Time Temp 
vs  cspline    4 1
 min K 
5 1.896
vs 
6 -2.585
7 2.444
8 -1.19
9 2.317
10 -2.079
11 0
12 2.079

180
‫الفصل السابع‬

‫و من ثم نستخدم الدالة ) (‪ interp‬إليجاد قيم درجات الحرارة عند )‪ (11‬نقطة عند‬


‫نفس الفترة الزمنية )‪: (0-9 min.‬‬

‫‪i  0  10‬‬ ‫‪eleven values‬‬

‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0.9‬‬
‫‪2‬‬ ‫‪1.8‬‬
‫‪3‬‬ ‫‪2.7‬‬
‫)‪( 9  i‬‬
‫‪ti ‬‬ ‫‪4‬‬ ‫‪3.6‬‬
‫‪10‬‬ ‫‪t‬‬
‫‪5‬‬ ‫‪4.5‬‬
‫‪6‬‬ ‫‪5.4‬‬
‫‪7‬‬ ‫‪6.3‬‬
‫‪8‬‬ ‫‪7.2‬‬
‫‪9‬‬ ‫‪8.1‬‬
‫‪10‬‬ ‫‪9‬‬

‫‪181‬‬
‫التكامل العددي‬

 Time Temp 
Tempinterp  interp  vs    ti 
i  min K 

0
0 298
1 298.87
2 300.477
3 303.168
4 305.188
Tempinterp 
i 5 307.422
6 310.146
7 313.157
8 316.7
9 319.266
10 322

182
‫الفصل السابع‬

‫بدالً من بيانات ‪Time,‬‬ ‫اآلن‪ ،‬نطبق قاعدة سمسن على بيانات ‪t, Tempinterp‬‬
‫‪: Temp‬‬

‫‪j  1  3  9‬‬

‫‪h  t1  t0‬‬

‫‪j‬‬
‫‪h  0.9‬‬
‫‪1‬‬
‫‪3‬‬
‫‪5‬‬
‫‪7‬‬
‫‪9‬‬

‫‪ h ‬‬
‫‪Asimpson  ‬‬
‫‪3‬‬
‫‪‬‬ ‫‪  Tempinterpj1  4Tempinterpj  Tempinterpj 1 ‬‬
‫‪j‬‬

‫‪3‬‬
‫‪Asimpson  2.776  10‬‬

‫إن النتيجة جيدة مقارنة مع ماتم الحصول عليه من نتيجة التكامل العددي بواسطة قاعدة‬
‫شبه المنحرف ‪ .‬و بما أنه اليوجد ھناك فرق كبير مابين ربط نقاط البيانات بواسطة‬
‫الخطوط أو المنحنيات بالنسبة لھذه المجموعة من البيانات‪ ،‬فإن ھناك فرق بسيط مابين‬
‫النتائج المحسوبة بإستخدام الطريقتين )طريقة شبه المنحرف و طريقة سمسن( ‪.‬‬

‫و جدير بالذكر‪ ،‬بأن ھناك إسلوب آخر لتجاوز شروط إستخدام طريقة التكامل العددي‬
‫بواسطة قاعدة سمسن و ھي تنص على إستخدام قاعدة سمسن عندما يكون مجموع‬

‫‪183‬‬
‫التكامل العددي‬

‫البيانات عبارة عن عدد زوجي و ذلك يتم من خالل اإلستمرار بأخذ ثالث نقاط و نطبق‬
‫طريقة سمسن عليھا و عندما نصل الى النقاط الزوجية المتبقية نطبق عليھا قاعدة شبه‬
‫المنحرف و نتيجة التكامل العددي النھائية تتم من خالل جمع نتائج كال الطريقتين ‪.‬‬

‫الخالصة ‪Summary‬‬
‫يمكننا إجراء التكامل العددي من‪:‬‬
‫‪ ‬من الدالة ‪ : From Function‬حيث يتم ذلك بإستخدام عوامل التكامل في‬
‫برنامج ‪ Mathcad‬أي ‪ Integration Operators‬و ھذا يتم من خالل‬
‫إستخدام شريط أدوات الحساب ‪.‬‬
‫‪ ‬من مجموعة البيانات ‪ : From a Data Set‬حيث يمكن إستخدام قاعدة شبه‬
‫المنحرف و قاعدة سمسن لتقريب التكامل أو يمكننا مطابقة الدالة مع البيانات‬
‫ومن ثم إجراء التكامل للدالة ‪.‬‬

‫‪184‬‬
‫التفاضل العددي‬

‫‪Evaluating Derivatives of‬‬ ‫تقييم مشتقات الدوال عدديا ً‬


‫‪Functions Numerically‬‬
‫يمكننا بإستخدام ‪ Mathcad‬إجراء اإلشتقاق ألي دالة مثل‪:‬‬

‫‪y  b 0e b t‬‬ ‫‪1‬‬

‫و عندما نستخدم عامل التقييم )‪ (Y‬لتقييم التعبير الرياضي رمزيا ً فإن برنامج‬
‫‪ Mathcad‬سوف يعيد النتيجة بشكل رمزي‪:‬‬

‫‪d‬‬ ‫‪ b  eb1 t   b  b  exp  b  t‬‬


‫‪dt‬‬
‫‪‬‬ ‫‪0‬‬ ‫‪‬‬ ‫‪0 1‬‬ ‫‪1‬‬

‫و عندما تكون قيم ‪ t,b0,b1‬محددة مسبقا ً فإن عامل التقييم الرمزي يقوم بتحديد النتيجة‬
‫عدديا ً ‪:‬‬

‫‪186‬‬
‫الفصل الثامن‬

‫‪b0  3.4‬‬
‫‪b1  0.12‬‬
‫‪t  16‬‬

‫‪d‬‬ ‫)‪ b  eb1 t   .408  exp ( 1.92‬‬


‫‪dt‬‬
‫‪ 0‬‬ ‫‪‬‬

‫‪.408  exp ( 1.92)  2.783‬‬

‫ومن ناحية أخرى‪ ،‬عندما نستخدم التقييم العددي بإستخدام رمز المساواة )=( فإن‬
‫برنامج ‪ Mathcad‬يستخدم المعالج العددي لحساب المشتقة‪:‬‬

‫‪b 0  3.4‬‬
‫‪b 1  0.12‬‬
‫‪t  16‬‬

‫‪d‬‬ ‫‪‬‬ ‫‪b1t ‬‬


‫‪ b0 e‬‬ ‫‪  2.783‬‬
‫‪dt‬‬

‫‪187‬‬
‫التفاضل العددي‬

‫و عندما نستخدم المعالج العددي‪ ،‬يجب أن نح ّدد أوالً قيم‪ t,b0,b1 ،‬قبل أن يقيم برنامج‬
‫‪ Mathcad‬المشتقة ‪.‬‬

‫المشتقات من البيانات التجريبية ‪Derivatives from Experimental‬‬


‫‪Data‬‬
‫عندما يكون لدينا عالقة مابين متغيرات معينة ممثلة بواسطة مجموعة من القيم )‬
‫مجموعة من البيانات (‪ ،‬بدالً من التعبير الرياضي‪ ،‬فإن أمامنا خيارين لتحديد المشتقة‬
‫عند نقطة معينة‪:‬‬
‫‪ ‬مطابقة ‪ Fitting‬البيانات مع التعبير الرياضي و من ثم إجراء التفاضل‬
‫للتعبير الرياضي عند القيمة المحددة ‪.‬‬
‫‪ ‬إستخدام التقريب العددي للمشتقات على مجموعة البيانات نفسھا ‪.‬‬

‫إستخدام دالة التطابق ‪Using a Fitting Function‬‬


‫إن تطابق المنحنيات قد تم التطرق إليه في الفصل الخامس‪ ،‬و لھذا نختصر خطوات‬
‫التطابق ھنا ‪ .‬إن النموذج المقترح لتطابق البيانات المبينة في أدناه ھو النموذج األسي‬
‫‪:Exponential‬‬

‫‪y  b 0e b t‬‬ ‫‪1‬‬

‫‪188‬‬
‫الفصل الثامن‬

 10  0
 11  0 10
 12  1 11
  2 12
t 
 13  t  3 13
 14 
  4 14
 15  5 15
 16  6 16
 17 
  7 17

 11.043  0
 12.616  0 11.043
 14.394  1 12.616
  2 14.394
y 
 16.349 
y 3 16.349
 18.235 
  4 18.235
 20.691  5 20.691
 23.17  6 23.17
 26.27 
  7 26.27

30

25

y 20

15

10
10 12 14 16 18
t

:‫ يمكن إعادة كتابتھا بالشكل التالي‬،‫إن المعادلة أعاله‬

189
‫التفاضل العددي‬

ln ( y )  
ln b0  b1  t

: b0, b1 ‫و يمكن بعد ذلك إستخدام اإلنحدار الخطي و من ثم تحديد قيم‬

100

yfit

10
10 12 14 16 18
t

in  intercept t  ln ( y ) 
  
in  1.187

sl  slope t  ln ( y ) 
  
sl  0.123
in
b0  e
b0  3.277
b1  sl b1  0.123

190
‫الفصل الثامن‬

‫و حالما نحصل على التعبير الرياضي‪ ،‬يمكننا تقييم المشتقة على سبيل المثال‪ ،‬عند‬
‫)‪ (t=16‬بواسطة إستخدام المعالج الرمزي )‪ Symbolic (Y‬أو المعالج العددي )=( و‬
‫النتائج تظھر بالشكل التالي‪:‬‬

‫‪in‬‬
‫‪b0  e‬‬
‫‪b0  3.277‬‬
‫‪b1  sl‬‬ ‫‪b1  0.123‬‬
‫‪t  16‬‬

‫‪d‬‬ ‫‪ b  eb1 t   2.861‬‬


‫‪ 0‬‬ ‫‪‬‬
‫‪dt‬‬

‫‪Using‬‬ ‫‪Numerical‬‬ ‫إستخدام التقريب العددي للمشتقات‬


‫‪Approximations for Derivative‬‬
‫إن المشتقة فيزيائيا ً تمثل ميل المنحني لمجموعة من البيانات عند نقطة معينة ‪ .‬حيث‬
‫يمكننا إيجاد القيم التقريبية للمشتقة عند أي نقطة من خالل حساب ميل المنحني عند تلك‬
‫النقطة ‪ .‬و كما أن ھناك عدة أساليب لحساب ميل المنحني‪ ،‬فإنه في نفس الوقت ھناك‬
‫عد أساليب لحساب التقريب العددي للمشتقات ‪ .‬و بما أننا نحتاج الى إستخدام قيم دليل‬
‫المصفوفة في مثل ھذه الحسابات‪ ،‬و عليه سوف نستخدم قيم دليل المصفوفة مع بيانات‬
‫المثال أعاله ‪ ،‬و كما يلي‪:‬‬

‫‪191‬‬
‫التفاضل العددي‬

‫‪ 10 ‬‬ ‫‪0‬‬


‫‪ 11 ‬‬ ‫‪0‬‬ ‫‪10‬‬
‫‪ 12 ‬‬ ‫‪1‬‬ ‫‪11‬‬
‫‪ ‬‬ ‫‪2‬‬ ‫‪12‬‬
‫‪t ‬‬
‫‪‬‬ ‫‪13 ‬‬
‫‪t  3 13‬‬
‫‪i  0  7‬‬
‫‪ 14 ‬‬
‫‪ ‬‬ ‫‪4‬‬ ‫‪14‬‬
‫‪ 15 ‬‬ ‫‪5‬‬ ‫‪15‬‬
‫‪ 16 ‬‬ ‫‪6‬‬ ‫‪16‬‬
‫‪ 17 ‬‬
‫‪ ‬‬ ‫‪7‬‬ ‫‪17‬‬
‫‪i‬‬
‫‪0‬‬
‫‪‬‬‫‪ 11.043 ‬‬
‫‪‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪ 12.616 ‬‬ ‫‪0‬‬ ‫‪11.043‬‬
‫‪1‬‬ ‫‪1‬‬
‫‪ 14.394 ‬‬ ‫‪1‬‬ ‫‪12.616‬‬
‫‪2‬‬ ‫‪2‬‬
‫‪‬‬ ‫‪‬‬ ‫‪2‬‬ ‫‪14.394‬‬
‫‪y ‬‬
‫‪‬‬ ‫‪16.349‬‬ ‫‪ y‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪3‬‬ ‫‪16.349‬‬
‫‪ 18.235 ‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪‬‬ ‫‪‬‬ ‫‪4‬‬ ‫‪18.235‬‬
‫‪5‬‬ ‫‪5‬‬
‫‪‬‬ ‫‪20.691‬‬
‫‪‬‬ ‫‪5‬‬ ‫‪20.691‬‬
‫‪6‬‬ ‫‪6‬‬
‫‪ 23.17 ‬‬ ‫‪6‬‬ ‫‪23.17‬‬
‫‪ 26.27 ‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪‬‬ ‫‪‬‬ ‫‪7‬‬ ‫‪26.27‬‬

‫إن أحد األساليب المستخدمة في حساب الميل عند النقطة )‪ (i=6‬أي عند )‪(t=16‬‬
‫سيكون بالشكل التالي‪:‬‬

‫‪192‬‬
‫الفصل الثامن‬

‫‪dy‬‬ ‫‪y7  y6‬‬


‫‪‬‬
‫‪t7  t6‬‬
‫‪i6‬‬
‫‪dt‬‬

‫و عندما تكون المعادلة صحيحة ‪ ، Valid‬فإن المعادلة التالية ھي أيضا ً صحيحة )و‬
‫كالھما يمثل حل تقريبي(‪:‬‬

‫‪dy‬‬ ‫‪y6  y5‬‬


‫‪‬‬
‫‪t6  t5‬‬
‫‪i6‬‬
‫‪dt‬‬
‫إن التعبير األول قد استخدم النقطة عند ‪ t=16‬و النقطة الى اليمين )‪ (t=17 or i=7‬و‬
‫ذلك لحساب الميل و يطلق على ھذه الطريقة "التقريب األمامي بواسطة الفروق المحددة‬
‫" “ ‪ ، “ Forward Finite Difference Approximation‬و بالنسبة للمشتقة‬
‫األولى عند )‪ (i=6‬فإن مصطلح الفروق المحددة ‪ Finite Difference‬يستخدم ھنا‬
‫ألن ھناك مسافة محددة مابين قيم الزمن المستخدمة في الحساب ‪ .‬إن التقريب بواسطة‬
‫الفروق المحددة يكون مساويا ً الى المشتقات فقط عندما تكون الغاية بالنسبة الى ‪t‬‬
‫تقترب من الصفر ‪.‬‬
‫أما التعبير الثاني فإنه يستخدم النقطة عند )‪ (t=16‬و النقطة الى اليسار )‪ (t=15‬و ذلك‬
‫لحساب الميل و تسمى ھذه الطريقة " التقريب الخلفي بواسطة الفروق المحددة "‬
‫“ ‪ “Backward Finite Difference Approximation‬بالنسبة للمشتقة األولى‬
‫عند )‪ . (i=6‬و يمكننا كتابة طريقة " التقريب المركزي بواسطة الفروق المحددة "‬

‫‪dy‬‬ ‫‪y  y5‬‬


‫‪‬‬ ‫‪193 7‬‬

‫‪t7  t5‬‬
‫‪i6‬‬
‫‪dt‬‬
‫التفاضل العددي‬

‫”‪ “Central Finite Difference Approximation‬بالنسبة للمشتقة األولى عند‬


‫)‪ (i=6‬بالشكل التالي‪:‬‬

‫إن إستخدام طريقة الفروق المركزية تعطي نتائج أفضل في حسابات الميل و ھي‬
‫األكثر شيوعا ً و إستخداما ً ‪ .‬و عند تطبيق المعادلة السابقة لحساب المشتقة عند النقطة‬
‫)‪ (i=6 or t=16‬في مجموعة البيانات‪ ،‬نجد أن قيمة الميل ھي ‪: 2.79‬‬

‫‪ y 7  y 5‬‬
‫‪slope16 ‬‬
‫‪ t 7  t 5‬‬

‫‪slope16  2.79‬‬
‫و مقارنة مع التقريب األمامي و الخلفي نالحظ أن النتائج تظھر بالشكل التالي‪:‬‬

‫‪194‬‬
‫الفصل الثامن‬

‫‪ y 7  y 6‬‬
‫‪slope16 ‬‬
‫‪ t 7  t 6‬‬

‫‪slope16  3.1‬‬

‫‪ y 6  y 5‬‬
‫‪slope16 ‬‬
‫‪ t 6  t 5‬‬

‫‪slope16  2.479‬‬

‫و ھناك أيضا ً طرق تقريبية بإستخدام الفروق المحددة بالنسبة للمشتقات ذات الرتب‬
‫العليا ‪ ، High Order Derivatives‬على سبيل المثال‪ ،‬طريقة التقريب المركزي‬
‫بواسطة الفروق المحددة بالنسبة للمشتقة الثانية )‪ Second Derivative (SD‬عند‬
‫)‪ (i=6‬يمكن كتابتھا بالشكل التالي )على فرض أن ‪ t‬ھي ثابتة أي ‪Uniform‬‬
‫‪:( Point Spacing‬‬

‫‪d2y‬‬ ‫‪y 7  2y 6  y 5‬‬


‫‪‬‬
‫‪(  t) 2‬‬
‫‪i6‬‬
‫‪dt 2‬‬

‫‪195‬‬
‫التفاضل العددي‬

‫أما في ‪ Mathcad‬فإن النتيجة تبدو كاآلتي‪:‬‬

‫‪y7  2 y6  y5‬‬
‫‪SD ‬‬
‫‪1‬‬

‫‪SD  0.621‬‬

‫الخالصة‬
‫يمكن إجراء التفاضل العددي ‪:‬‬

‫‪ ‬من الدالة ‪ : From Function‬و يت ذلك بإستخدام عوامل التفاضل في‬


‫برنامج ‪ Mathcad‬أي ‪ Differentiation Operators‬و يت ذلك من‬
‫خالل شريط أدوات الحساب ‪. Calculas Toolbar‬‬
‫‪ ‬من مجموعة البيانات ‪ : Form a Data Set‬حيث أن طريقة الفروق‬
‫المحددة ‪ Finite Difference‬يمكن أن تستخدم في حساب قيم المشتقة أو‬
‫يمكننا مطابقة ‪ Fitting‬الدالة مع البيانات و من ثم إشتقاق الدالة ‪.‬‬

‫‪196‬‬
‫الفصل التاسع‬

‫‪Solutions of Ordinary‬‬ ‫حلول المعادالت التفاضلية اإلعتيادية‬


‫‪Differential Equations‬‬
‫في ھذا الفصل نيين كيفية إستخدام برنامج ‪ Mathcad‬في حل المعادالت التفاضلية ‪.‬‬
‫إن حل المعادلة التفاضلية يعني إيجاد الدالة المجھولة التي يمكنھا تحقيق المعادلة‬
‫التفاضلية بدالً من إيجاد المتغير ‪ .‬بالنسبة للمعادالت التفاضلية اإلعتيادية‪ ،‬فإن الدالة‬
‫المجھولة ھي دالة مكونة من متغير واحد فقط ‪ .‬أما بالنسبة للمعادالت التفاضلية الجزئية‬
‫‪ Partial Differential Equations‬فھي المعادالت التفاضلية التي تكون فيھا‬
‫الدالة المجھولة مكونة من متغيرين أو أكثر ‪ .‬أيضاً‪ ،‬في ھذا الفصل سوف نتناول حلول‬
‫نظام المعادالت التفاضلية ألن أغلب المسائل العلمية تتكون من نظام من المعادالت‬
‫التفاضلية اآلنية ‪.‬‬

‫إن أسھل طريقة مستخدمة في برنامج ‪ Mathcad‬في حل المعادالت التفاضلية و بأي‬


‫رتبة كانت ھي بإستخدام‪:‬‬

‫‪ ‬طريقة ‪. Solve Block-Odesolve‬‬


‫‪ ‬طريقة رونج‪-‬كوتا ‪ Runge-Kutta‬ذات الرتبة الرابعة من خالل إستخدام‬
‫الدالة ) (‪. rkfixed‬‬

‫أما بالنسبة ألنظمة المعادالت التفاضلية‪ ،‬فيمكن حلھا أيضا ً بإستخدام أدات الحل العامة‬
‫للمعادالت التفاضلية بواسطة الدالة ) (‪ . rkfixed‬أضف الى ذلك‪ ،‬ھناك دوال أخرى‬
‫تعتمد أيضا ً على مبدأ طريقة رونج‪-‬كوتا يمكن إستخدامھا بھذا الخصوص ‪.‬‬

‫حل المعادالت التفاضلية بإستخدام طريقة ‪Solving a Solve Block‬‬


‫‪Differential Equations Using a Solve Block‬‬

‫‪199‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

‫يمكن حل المعادلة التفاضلية و بأي رتبة كانت بإستخدام كتلة الحل ‪ Solve Block‬و‬
‫الدالة ‪ . odesolve‬إن كتلة الحل المستخدمة في حل المعادالت التفاضلية مشابھة‬
‫لكتلة الحل المستخدمة في حل نظام المعادالت التي مناقشتھا في الفصول السابقة ‪ .‬و‬
‫بإمكاننا حل المعادلة التفاضلية بإستخدام ‪ solve Block‬و الدالة ‪ odesolve‬من‬
‫خالل الخطوات التالية‪:‬‬
‫‪ ‬طباعة الكلمة ‪ Given‬في منطقة الحساب ‪. Math Region‬‬
‫‪ ‬طباعة المعادلة التفاضلية المطلوب حلھا تحت الكلمة ‪ Given‬حيث يتم إستخدام‬
‫عالمة المساواة المنطقية )=( من خالل شريط األدوات المنطقي ‪Boolean‬‬
‫‪ Toolbar‬أو من خالل الضغط على المفاتيح ]=‪ . [ctrl-‬و يمكن طباعة‬
‫المعادلة التفاضلية أما من شريط أدوات الحساب ‪ Calculas Toolbar‬المبين‬
‫في أدناه‪:‬‬

‫أو من خالل الضغط على المفتاح ]?‪ . [ctrl-‬كما يمكننا إستخدام ترميز المشتقة‬
‫‪ y'(x), y’’(x), y’’’(x) ,…. Prime Notation‬من خالل الضغط على المفاتيح‬
‫]‪ [ctrl-F7‬علما ً أن ترميز المشتقة يمكن كتابته فقط ضمن جمل ‪ solve Bolck‬أما‬
‫عندما يتم كتابته خارج جمل ‪ Solve Block‬فھذا يؤدي الى ظھور رسالة خطأ ‪.‬‬
‫‪ ‬طباعة القيم اإلبتدائية للمتغير المستقل )‪ (x‬حيث يمكن كتابتھا بالشكل التالي‪:‬‬

‫‪200‬‬
‫الفصل التاسع‬

‫‪Y(a)=c‬‬
‫‪Or‬‬
‫‪Y’(a)=d‬‬
‫‪ ‬أخيراً‪ ،‬نطبع الدالة ) ‪ Odesolve(x,b‬حيث أن القيمة النھائية ‪Terminal‬‬
‫)‪ Point(b‬يجب أن تكون أكبر من القيمة اإلبتدائية )‪. Initial Point (x‬‬
‫ويمكننا بعد ذلك رسم العالقة مابين ‪ x‬و )‪ y(x‬كما مبين في المثال أدناه‪:‬‬

‫‪given‬‬

‫)‪y ( 0‬‬ ‫‪1‬‬


‫)‪y' ( 0‬‬ ‫‪3‬‬

‫‪2‬‬
‫‪d‬‬ ‫‪d‬‬ ‫‪‬‬
‫)‪y ( x‬‬ ‫‪‬‬ ‫)‪y ( x)   2 y ( x‬‬
‫‪2‬‬
‫‪dx‬‬ ‫‪ dx‬‬ ‫‪‬‬

‫)‪y  Odesolve( x  5‬‬

‫‪y ( 0)  1‬‬
‫‪y ( 0.2)  1.589‬‬

‫‪3‬‬

‫)‪y( x‬‬ ‫‪2‬‬

‫‪1‬‬
‫‪0‬‬ ‫‪0.2‬‬ ‫‪0.4‬‬
‫‪x‬‬
‫‪201‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

‫إن مخرجات الدالة ) (‪ Odesolve‬ھي عبارة عن دالة )‪ (x‬التي يتم الحصول عليھا‬
‫من جدول القيم المحسوبة بإستخدام طريقة الخطوة الثابتة ‪Fixed Step Method‬‬
‫بواسطة الدالة ‪ rkfixed‬التي سيتم التطرق إليھا في المقاطع القادمة ‪ ،‬اما عندما نريد‬
‫إستخدام طريقة الخطوة الغير ثابتة ‪ Adaptive Step Method‬بواسطة الدالة‬
‫‪ RKadapt‬فيتم ذلك من خالل الخطوات التالية‪:‬‬
‫‪ ‬النقر على الدالة ) (‪ Odesolve‬بواسطة زر الفأرة األيمن ‪.‬‬
‫‪ ‬إختيار ‪ Adaptive‬من القائمة المنسدلة ‪.‬‬

‫مثال آخر حول إستخدام الدالة ‪Odesolve‬‬


‫في ھذا المثال سنقوم بحل المعادلة التفاضلية من الدرجة الثانية ‪Second Order‬‬
‫‪ Differential Equation‬التالية بإستخدام الخطوات السابقة‪:‬‬

‫‪d2‬‬
‫‪ y  2x‬‬
‫‪dx‬‬ ‫‪2‬‬

‫الشروط الحدودية‬
‫‪Boundary‬‬
‫‪y(0)   1‬‬ ‫‪Conditions‬‬
‫‪y' (0)  8‬‬

‫‪202‬‬
‫الفصل التاسع‬

‫حيث يمكن حل المعادلة التفاضلية السابقة بإستخدام نفس الخطوات السابقة كما مبين في‬
‫أدناه‪:‬‬

‫‪given‬‬
‫‪2‬‬
‫‪d‬‬
‫)‪y ( x)  y ( x‬‬ ‫‪2 x‬‬
‫‪2‬‬
‫‪dx‬‬

‫)‪y ( 0‬‬ ‫‪1‬‬

‫)‪y' ( 0‬‬ ‫‪8‬‬

‫)‪y a  Odesolve( x  10‬‬

‫‪Solution of ODE‬‬
‫‪30‬‬
‫‪y of Function‬‬

‫‪20‬‬
‫)‪ya( x‬‬
‫‪10‬‬

‫‪0‬‬

‫‪10‬‬
‫‪0‬‬ ‫‪5‬‬ ‫‪10‬‬
‫‪x‬‬
‫‪x Values from 0-10‬‬

‫‪y a ( 3)  7.837‬‬

‫‪y a ( 5)  3.963‬‬

‫‪y a ( 9)  21.384‬‬

‫‪203‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

‫طريقة رونج كوتا ‪Runge Kutta Method‬‬


‫يمكن إستخدام الدالة ) (‪ rkfixed‬في حل أنظمة المعادالت التفاضلية او لتحديد نقطة‬
‫البداية للخطوة ‪ Interval‬أو عدد النقاط المستخدمة في تقريب الحل و ھنا سوف‬
‫نر ّكز على حل المعادالت التالية‪:‬‬

‫‪First Order Differential‬‬ ‫‪ ‬المعادالت التفاضلية ذات الرتبة األولى‬


‫‪. Equations‬‬
‫‪ ‬المعادالت التفاضلية ذات الرتبة الثانية و ذات الرتب العليا ‪Second and‬‬
‫‪. High Order Differential Equations‬‬
‫‪ ‬أنظمة المعادالت التفاضلية ‪. System of Differential Equations‬‬

‫المعادالت التفاضلية ذات الرتبة األولى ‪First Order Differential‬‬


‫‪Equations‬‬
‫إن المعادلة التفاضلية ذات الرتبة األولى ھي المعادلة التي يكون فيھا اعلى رتبة لمشتقة‬
‫الدالة المجھولة عبارة عن المشتقة األولى لتلك الدالة ‪ .‬و بإمكاننا حل المعادلة التفاضلية‬
‫ذات الرتبة األولى بواسطة برنامج ‪ Mathcad‬من خالل إستخدام الدالة ‪Odesolve‬‬
‫‪ ،‬التي تم إستخدامھا في المقطع السابق ‪ ،‬ھذا و يمكننا أيضا ً إستخدام الدالة ) (‪rkfixed‬‬
‫في حل ھذا النوع من المعادالت ‪ .‬إن الدالة ) (‪ rkfixed‬تستخدم طريقة رونج كوتا‬
‫ذات الرتبة الرابعة ‪ Fourth Order Runge Kutta‬في حل المعادلة التفاضلية‬
‫ذات الرتبة األولى و تعيد مصفوفة مكونة من عمودين‪:‬‬
‫‪ ‬العمود األيسر يحوي على النقاط التي يتم عندھا تقييم حل المعادلة التفاضلية ‪.‬‬
‫‪ ‬العمود األيمن يحوي على القيم المناظرة للحل ‪.‬‬

‫‪204‬‬
‫الفصل التاسع‬

‫إن الصيغة العامة للدالة ‪ rkfixed‬ھي‪:‬‬

‫)‪rkfixed( y  x1  x2  npoints  D‬‬

‫حيث أن‪:‬‬
‫‪ Y ‬يمثل إسم المتجه الحاوي على الشروط اإلبتدائية ‪. Initial Conditions‬‬
‫‪ X1 ‬يمثل نقطة بداية التكامل ‪.‬‬
‫‪ X2 ‬يمثل نقطة نھاية التكامل ‪.‬‬
‫‪ npoints ‬تمثل عدد خطوات التكامل مابين نقطة البداية و نقطة النھاية ‪.‬‬
‫‪ D ‬يمثل إسم متجه الدالة المكونة من المعادلة )أو المعادالت( التفاضلية ‪.‬‬
‫الشكل أدناه يبين كيفية حل المعادلة التفاضلية التالية بإستخدام الدالة ‪: rkfixed‬‬

‫‪dy‬‬
‫‪ 3y  0‬‬
‫‪dx‬‬
‫‪y(0)  4 InitialCondtions‬‬
‫حيث أن ‪ y(0)=4‬تمثل الشروط اإلبتدائية ‪.Initial Conditions‬‬

‫‪205‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

y 0  4

D ( x  y )   3  y 0

Z  rkfixed ( y  0  4  100  D )

i  0  rows ( Z )  1

0
0 1 0 0
0 0 4 1 1
1 0.04 3.548 2 2
2 0.08 3.147 3 3
3 0.12 2.791 4 4
4 0.16 2.475 5 5
5 0.2 2.195 6 6
6 0.24 1.947 i  7 7
Z  7 0.28 1.727 8 8
8 0.32 1.532 9 9
9 0.36 1.358 10 10
10 0.4 1.205 11 11
11 0.44 1.069 12 12
12 0.48 0.948 13 13
13 0.52 0.841 14 14
14 0.56 0.745 15 15
15 0.6 0.661

 Z  1  i 2

0
0 2 4
206
Z i
 
0
‫الفصل التاسع‬

‫و كما نالحظ من الشكل أعاله‪ ،‬التظھر جميع قيم الحلول و يمكن إظھار بقية القيم من‬
‫خالل النقر على أحد القيم بحيث تظھر أشرطة اإلنزالق و مالحظة القيم األخرى كما‬
‫في ادناه‪:‬‬

‫‪207‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

‫المعادلة التفاضلية ذات الرتبة الثانية و ذات الرتب العليا ‪Second and‬‬
‫‪High Order Differential Equations‬‬
‫بإمكاننا حل المعادالت التفاضلية ذات الرتبة الثانية بإستخدام طريقة ‪Solve Block-‬‬
‫‪ Odesolve‬التي تم التطرق إليھا في الفقرات السابقة ‪ .‬أو يمكننا إستخدام طريقة‬
‫‪ rkfixed‬في حل ھذه المعادالت و المعادالت ذات الرتب العليا ‪ . High Order‬إن‬
‫إستخدام طريقة ‪ rkfixed‬في حل المعادالت التفاضلية ذات الرتبة الثانية مشابھا ً‬
‫لطريقة حل المعادالت التفاضلية ذات الرتبة األولى و الفرق األساسي يكمن في‪:‬‬

‫‪ ‬متجه القيم اإلبتدائية ‪ y‬اآلن مكون من عنصرين يمثالن‪ ،‬متجه الدالة و متجه‬
‫المشتقة األولى عند القيمو اإلبتدائية ‪. x1‬‬
‫‪ ‬الدالة )‪ D(x,y‬أآلن‪ ،‬عبارة عن متجه مكون من عنصرين ھما‪:‬‬

‫‪ y'(x) ‬‬


‫‪D(x,y)  ‬‬ ‫‪‬‬
‫‪y'' (x)‬‬
‫حيث أن‪ y’(x) ،‬المشتقة األولى ‪ y’’(x) ،‬المشتقة الثانية ‪.‬‬
‫‪ ‬حل المصفوفة مكون من ثالث أعمدة ھي‪:‬العمود األيسر يحوي على قيم ‪x‬‬
‫‪ ،‬العمود الوسطي يحوي على قيم )‪ y(x‬و العمود األيمن يحوي على قيم‬
‫)‪. y’(x‬‬
‫و الشكل التالي يبين حل المعادلة التفاضلية التالية من الرتبة الثانية )‪(y’’=-y’+2y‬‬
‫بإستخدام طريقة الدالة ) (‪: rkfixed‬‬

‫‪208‬‬
‫الفصل التاسع‬

1
y   
3
 y1 
D ( t  y )   
 y1  2 y0 
Z  rkfixed ( y  0  5  400  D)

i  0  400

t y ( t) y'(t)
0 1 2
0 0 1 3
1 0.013 1.037 2.988
2 0.025 1.075 2.977
3 0.038 1.112 2.967
3
4 0.05 1.149 2.959
5 0.063 1.186 2.951
6 0.075 1.223 2.944
Z  7 0.088 1.259 2.938
 Z1  i 2

8 0.1 1.296 2.934


9 0.113 1.333 2.93
1
10 0.125 1.369 2.927 0 0.2 0.4
11 0.137 1.406 2.925  Z0  i
12 0.15 1.443 2.924
13 0.163 1.479 2.924
14 0.175 1.516 2.925
15 0.188 1.552 2.927

:‫ كما مبين في ادناه‬rkfixed ‫ بإستخدام الدالة‬،(y’’+y=2x)‫و يمكن حل المثال السابق‬

209
‫حلول المعادالت التفاضلية اإلعتيادية‬

‫‪ 1 ‬‬
‫‪y  ‬‬ ‫‪‬‬
‫‪8 ‬‬
‫‪ y1 ‬‬
‫‪D ( x  y )  ‬‬ ‫‪‬‬
‫‪‬‬ ‫‪2‬‬ ‫‪‬‬ ‫‪x‬‬ ‫‪‬‬ ‫‪y‬‬ ‫‪0‬‬ ‫‪‬‬
‫)‪Z  rkfixed ( y  0  5  400  D‬‬

‫‪i  0  0400‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪30‬‬


‫‪239 2.988‬‬ ‫‪7.884 -3.775‬‬
‫‪240‬‬ ‫‪3‬‬ ‫‪7.837 -3.799‬‬
‫‪241 3.013‬‬ ‫‪7.789 -3.821‬‬ ‫‪20‬‬

‫‪242 3.025‬‬ ‫‪7.741 -3.843‬‬


‫‪243 3.038‬‬ ‫‪7.693 -3.864‬‬ ‫‪ Z1  i‬‬ ‫‪10‬‬
‫‪244‬‬ ‫‪3.05‬‬ ‫‪7.645 -3.883‬‬
‫‪245 3.063‬‬ ‫‪7.596 -3.902‬‬
‫‪Z  246 3.075‬‬ ‫‪7.547‬‬ ‫‪-3.92‬‬ ‫‪0‬‬
‫‪247 3.088‬‬ ‫‪7.498 -3.937‬‬
‫‪248‬‬ ‫‪3.1‬‬ ‫‪7.449 -3.953‬‬
‫‪10‬‬
‫‪249 3.113‬‬ ‫‪7.399 -3.968‬‬ ‫‪0‬‬ ‫‪5‬‬ ‫‪10‬‬
‫‪250 3.125‬‬ ‫‪7.349 -3.983‬‬ ‫‪‬‬ ‫‪Z‬‬
‫‪0‬‬ ‫‪i‬‬
‫‪251 3.138‬‬ ‫‪7.3 -3.996‬‬
‫‪252‬‬ ‫‪3.15‬‬ ‫‪7.25 -4.008‬‬
‫‪253 3.163‬‬ ‫‪7.199‬‬ ‫‪-4.02‬‬
‫‪254 3.175‬‬ ‫‪7.149‬‬ ‫‪-4.03‬‬

‫إن الخطوات المتبعة في حل المعادالت التفاضلية ذات الرتب العليا ھي نفس الخطوات‬
‫المتبعة في حل المعادالت التفاضلية ذات الرتبة الثانية‪ ،‬و الفرق األساسي يكمن في‪:‬‬

‫‪210‬‬
‫الفصل التاسع‬

‫‪ ‬متجه القيم اإلبتدائية ‪ ، y‬اآلن‪ ،‬يتكون من ‪ n‬من العناصر المستخدمة في‬


‫من‬ ‫لكل‬ ‫‪Initial‬‬ ‫‪Conditions‬‬ ‫اإلبتدائية‬ ‫الشروط‬ ‫تحديد‬
‫)‪. y,y’,y’’,…y(n-1‬‬
‫‪ ‬متجه الدالة )‪ (D‬اآلن‪ ،‬عبارة عن متجه مكون من ‪ n‬من العناصر‬
‫المناظرة الى مشتقات الدوال المجھولة ‪.‬‬
‫‪ ‬مصفوفة الحل مكونة من ‪ n‬من األعمدة حيث أن‪:‬العمود األيسر يتضمن‬
‫قيم )‪ (x‬و األعمدة المتبقية تستخدم لإلشارة الى قيم كل من‪:‬‬
‫)‪. y(x),y’(x),y’’(x),…,y(n-1)(x‬‬

‫أنظمة المعادالت التفاضلية ‪Systems of Differential Equations‬‬


‫إن أغلب التطبيقات الھندسية و العلمية غالبا ً ماتكون متكونة من نظام من المعادالت‬
‫التفاضلية ‪ .‬إن حل نظام المعادالت التفاضلية مشابھا ً الى حل المعادالت التفاضلية ذات‬
‫الرتب العليا بإستخدام الدالة ) (‪ . rkfixed‬إن نظام المعادالت التفاضلية يجب أن‬
‫يوضع بالحالة القياسية المبينة في أدناه‪:‬‬

‫) ‪y'1  F1 (t, y 1 , y 2 ...y n‬‬


‫) ‪y'2  F2 (t, y 1 , y 2 ...y n‬‬
‫‪‬‬
‫) ‪y'n  Fn (t, y 0 , y 1 ...y n‬‬
‫‪y 1 (t 0 )  C 1‬‬
‫‪y 2 (t 0 )  C 2‬‬
‫‪‬‬ ‫‪211‬‬

‫‪y n (t 0 )  C 2‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

‫و يمكن حل نظام المعادالت التفاضلية ذات الرتبة األولى من خالل الخطوات التالية‪:‬‬

‫‪ ‬تعريف المتجه المكون من القيم اإلبتدائية لكل دالة مجھولة ‪.‬‬


‫‪ ‬تعريف المتجه المستخدم في تقييم الدالة و المكون من عناصر تمثل المشتقة‬
‫اإلولى لكل دالة ‪.‬‬
‫‪ ‬تحديد النقاط التي سيتم تقييم الدالة عندھا ‪.‬‬
‫‪ ‬إدخال جميع المعلومات المرتبطة بالدالة ) (‪. rkfixed‬‬

‫إن الدالة ) (‪ rkfixed‬تعيد بدورھا مصفوفة مكونة من‪:‬‬


‫‪ ‬العمود األول حيث يتضمن النقاط التي يتم عندھا تقييم ‪.‬‬
‫‪ ‬األعمدة المتبقية تحوي على دوال الحل التي تقيم عند النقاط المناظرة ‪.‬‬

‫الشكل التالي يبين مثاالً‪ ،‬حول إستخدام الدالة ) (‪ rkfixed‬في حل نظام المعادالت‬
‫التفاضلية التالي‪:‬‬

‫)‪x' 0 (t)  μx 0 (t)  x 1 (t)  (x 0 (t) 2  x 1 (t) 2 )x 0 (t‬‬


‫)‪x'1 (t)  μx 1 (t)  x 0 (t)  (x 0 (t) 2  x 1 (t) 2 )x 1 (t‬‬
‫‪Initial Conditions : x 0 (0)  0‬‬ ‫‪and x 1 (0)  1‬‬

‫‪212‬‬
‫الفصل التاسع‬

‫إن حل نظام المعادالت التفاضلية مشابھا ً الى حل المعادالت التفاضلية ذات الرتبة‬
‫األولى و الفروق األساسية تتضمن‪:‬‬
‫‪ ‬متجه القيم اإلبتدائية يجب أن يتضمن القيم اإلبتدائية للمشتقات الموجودة في كل‬
‫دالة مجھولة باإلضافة الى القيم اإلبتدائية نفسھا ‪.‬‬
‫‪ ‬متجه تقييم الدالة يجب أن يتضمن العناصر التي تمثل المشتقات الموجودة في‬
‫النظام ‪.‬‬
‫‪ ‬إن الدالة ) (‪ rkfixed‬تعيد مصفوفة مكونة من‪ :‬العمود األول حيث يتكون من‬
‫النقاط التي يتم عندھا تقييم الدالة أما األعمدة المتبقية فإنھا تتكون من الحلول و‬
‫المشتقات التي تقيم عند النقاط المناظرة لھا و الموجودة في العمود األول كما‬
‫مبين في الشكل أدناه ‪.‬‬

‫إن الرتبة التي تظھر عندھا الحلول و المشتقات تطابق الرتبة التي من خاللھا نضع‬
‫متجه الشروط اإلبتدائية ‪.‬‬

‫‪213‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

  0.2 0
x   
1

   x  x    x  2   x  2  x 
D ( t  x ) 
 0 1  0 1  0
   x  2   x  2  x 
   x 1  x 0   0 1  1

Z  rkfixed ( x  0  20  100  D)

n  0  100

0 1 2
0 0 0 1
1 0.2 -0.162 0.8
2 0.4 -0.273 0.645
3 0.6 -0.348 0.509
4 0.8 -0.397 0.386
5 1 -0.423 0.272
6 1.2 -0.43 0.167
Z 7 1.4 -0.42 0.072
8 1.6 -0.396 -0.012
9 1.8 -0.36 -0.084
10 2 -0.315 -0.144
11 2.2 -0.263 -0.191 Zn  1 0
12 2.4 -0.207 -0.226
13 2.6 -0.149 -0.248
0 1
14 2.8 -0.092 -0.258
Zn  2
15 3 -0.037 -0.256

Other Example ‫مثال آخر‬

214
‫الفصل التاسع‬

‫لو فرضنا أن لدينا نظام المعادالت التفاضلية التالي‪:‬‬

‫‪y 1 ' '  y 1  3y 2‬‬


‫' ‪y 2  y1 ' y 2‬‬
‫‪y 1 (0)  2‬‬
‫‪y 1 ' (0)  1‬‬
‫‪y 2 ' (0)  3‬‬

‫في ھذه الحالة نحتاج في البداية الت تعريف متغيرجديد‪ y3=y1’:‬و لھذا يمكن إعادة‬
‫كتابة النظام بالشكل التالي‪:‬‬
‫‪y1 '  y 3‬‬
‫‪y2 ' y2  y3‬‬
‫‪y 3 '  y 1  3y 2‬‬
‫‪y 1 (0)  2‬‬
‫‪y 2 (0)  3‬‬
‫‪y 3 (0)  1‬‬

‫و بالتالي يصبح نظام المعادالت بالشكل التالي‪:‬‬


‫‪y1 '  y 2‬‬
‫‪y 2 '  y1‬‬
‫‪y1 (0)  1‬‬
‫‪y 2 (0)  2‬‬

‫و الحل بواسطة ‪ Mathcad‬كما مبين أدناه‪:‬‬

‫‪215‬‬
‫حلول المعادالت التفاضلية اإلعتيادية‬

y'1=y2
y'2=y1 Initial Conditions: y1( 0)=1, y2( 0)=2

1
y 0   
2

 y1 
D ( t  y )   
 y0 

y n  rkfixed y 0  0  2  20  D 

t y1(t) y2(t)

0 1 2
0 0 1 2
1 0.1 1.205 2.11 0
2 0.2 1.423 2.241 t  y n
3 0.3 1.654 2.395 1
4 0.4 1.903 2.573 y 1  y n
5 0.5 2.17 2.776 2
6 0.6 2.459 3.008 y 2  y n
yn  7 0.7 2.772 3.269
8 0.8 3.114 3.563 10
9 0.9 3.486 3.893
10 1 3.893 4.261 y2
5
11 1.1 4.34 4.673
12 1.2 4.83 5.131
13 1.3 5.368 5.64 0
0 5 10
14 1.4 5.959 6.206
y1
15 1.5 6.611 6.834

100

y1
10
y2

1
0 1 2
t

216
‫الفصل التاسع‬

‫الخالصة ‪Summary‬‬

‫الدالة )]‪Odesolve(x,b,[step‬‬
‫تعيد دالة )‪ (x‬التي تمثل حل المعادلة التفاضلية اإلعتيادية حيث أن )‪ (x‬إسم متغير‬
‫التكامل‪ (b) ،‬القيمة النھائية للتكامل‪) step ،‬إختيارية( تمثل عدد خطوات التكامل ‪.‬‬

‫الدالة ) (‪rkfixed‬‬
‫دالة تستخدم طريقة رونج‪-‬كوتا )الخطوة الثابتة( ‪Runge Kutta Method with‬‬
‫‪. a Fixed Step‬‬

‫الدالة ) (‪RKadapt‬‬
‫دالة تستخدم طريقة رونج‪-‬كوتا )الخطوة متغيرة( ‪Runge Kutta Method with‬‬
‫‪. a Variable Step‬‬

‫‪217‬‬
‫الفصل العاشر‬

‫تطبيقات ھندسية ‪Engineering Applications‬‬


‫يتضمن ھذا الفصل إستخدام برنامج ‪ Mathcad‬في التطبيقات الھندسية التي تتطلب‬
‫إستخدام الحلول العددية التي تم دراستھا في الفصول السابقة و ھذه التطبيقات تتضمن‪:‬‬
‫‪ (1‬المبادل الحراري ‪. Heat Exchanger‬‬
‫‪ (2‬التيارات في الدارة المركبة ‪. Currents in Multiloop Circuit‬‬
‫‪Heat Transfer of a‬‬ ‫‪ (3‬إنتقال الحرارة في قضيب غير معزول‬
‫‪. noninsulated Rod‬‬
‫‪ (4‬فقد اإلحتكاك و اإلنخفاض بالضغط في األنابيب ‪Frictions Losses and‬‬
‫‪. Pressure Drop in Pipe Line‬‬
‫‪ (5‬تطابق المنحني في مجموعة من بيانات الخواص الفيزيائية لمادة السيالنات‬
‫‪. Curve Fitting of Physical Property Data of Silanes‬‬
‫‪ (6‬فحص المزدوجات الحرارية ‪. Checking Thermocouples‬‬
‫‪Analyzing‬‬ ‫‪ (7‬تحليل مخططات اإلجھاد‪-‬اإلنفعال ‪ (‬في المواد الھندسية‬
‫‪. Stress-Strain Diagrams in Engineering Materials‬‬
‫‪ (8‬المكثف السعوي ‪. Capacitor‬‬

‫‪221‬‬
‫تطبيقات ھندسية‬

‫المبادل الحراري ‪Heat Exchanger‬‬


‫كما ھو معروف ينساب المائع البارد ‪ Cold Fluid‬في المبادل الحراري داخل‬
‫االنبوب و من ثم يخضع الى التسخين من درجة الحرارة ‪ Tc_in‬الى درجة الحرارة ‪Tc-‬‬
‫‪ ،‬بواسطة الطاقة الناتجة من المائع الحار ‪ Hot Fluid‬المحيط باألنبوب الداخلي ‪.‬‬ ‫‪out‬‬

‫إن تغيّر درجة حرارة المائع البارد يعتمد على كمية الطاقة التي يتم الحصول عليھا من‬
‫المائع الساخن خالل فترة إنسياب المائع خالل المبادل الحراري أي المعدل الذي عنده‬
‫تكتسب الطاقة بواسطة المائع البارد ‪ .‬و يمكن التعبير عن الطاقة و التغيّر في درجة‬
‫الحرارة من خالل المعادالت التالية‪:‬‬

‫‪q COLD  cold flow rate * C p * ΔTcold‬‬


‫‪ΔTcold  Tc_out  Tc_in‬‬

‫و عندما نقوم بتنفيذ سلسلة من التجارب على ھذا المبادل الحراري‪ ،‬فإننا ربما نقوم‬
‫بتغيير معدل إنسياب المائع ‪ Cold Flow Rate‬وذلك لتحديد تأثير الطاقة المكتسبة‬
‫بواسطة المائع البارد ‪ .‬لتفرض أننا نفذنا سلسلة من التجارب و حصلنا على النتائج‬
‫التالية‪:‬‬

‫‪222‬‬
‫الفصل العاشر‬

‫‪Experiment‬‬ ‫‪Cold‬‬ ‫‪Heat‬‬ ‫‪Tc_in‬‬ ‫‪Tc_out‬‬ ‫‪qCold‬‬


‫‪Flow Rate Capacity‬‬
‫‪o‬‬ ‫‪o‬‬
‫‪Kg/minute‬‬ ‫‪Joule/Kg K‬‬ ‫‪C‬‬ ‫‪C‬‬ ‫‪watts‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪4187‬‬ ‫‪6‬‬ ‫‪62‬‬
‫‪2‬‬ ‫‪5‬‬ ‫‪4187‬‬ ‫‪6‬‬ ‫‪43‬‬
‫‪3‬‬ ‫‪10‬‬ ‫‪4187‬‬ ‫‪6‬‬ ‫‪26‬‬
‫‪4‬‬ ‫‪15‬‬ ‫‪4187‬‬ ‫‪6‬‬ ‫‪20‬‬
‫‪5‬‬ ‫‪20‬‬ ‫‪4187‬‬ ‫‪6‬‬ ‫‪14‬‬

‫يمكننا الحصول على قيم ‪ ، qcold‬الخمسة منخالل حساب قيمة كل تجربة على حدة‪ ،‬و‬
‫لكن إذا قمنا بإنشاء متجه لكل من قيم معدل إنساب المائع البارد و التغ ّير في درجة‬
‫الحرارة ‪ Tcold‬فإن برنامج ‪ Mathcad‬يمكنه إيجاد قيم ‪ ، qcold‬في نفس الوقت‬
‫بإستخدام طريقة ضرب عنصرمع عنصر في المصفوفة ‪ .‬إن العالمة )‪ (Y‬الموجودة‬
‫في الجانب األيمن من المعادلة تمثل عامل اإلتجاھية ‪ Vectorize Operator‬الذي‬
‫يمكن إدراجه من شريط أدوات المصفوفة ‪ .‬و قد استخدم ھنا لكي يقوم بوظيفة ضرب‬
‫عنصر مع عنصر مناظر له في المصفوفة األخرى و ھو المطلوب في ھذا التطبيق ‪.‬‬
‫‪ ،‬غير معرّفة كوحدة في برنامج‬ ‫‪Celsius‬‬ ‫إن درجات السليسوس‪Degree‬‬
‫‪ Mathcad‬ولكن التغير في درجات الحرارة بوحدة السليسوس مساويا ً للتغيّر في‬
‫درجات الحرارة بوحدة الكلفن ‪ Kelvin‬وعليه إستخدمنا ھنا وحدات الكلفن )‪ (K‬في‬
‫مصفوفة ‪ Tcold‬كما مبين في أدناه‪:‬‬

‫‪223‬‬
‫تطبيقات ھندسية‬

2  62  6 
5  43  6 
  kg  
Cold_Flow_Rate   10   TCold   26  6   K
 15  min  20  6 
   
2  14  6 
 4187 
 
4187
 
Cp   4187 
 4187 
 
 4187 



q Cold  Cold_Flow_Rate Cp  TCold 
 7.816  10
3

 4
 1.291  10 
q Cold   1.396  4  kg K
10 
 s
 4
1.465  10
 
 1.117  10 
3

Currents in Multiloop Circuit ‫التيارات في الدارة المركبة‬

224
‫الفصل العاشر‬

‫الدارة المركبة تحلّل عادة بإستخدام قانون كيرشوف للفولتية ‪Kirchhoff’s Voltage‬‬
‫‪ .‬إذا فرضنا أن لدينا القيم التالية من المقاومة و الفولتية ‪R1=1000 ohom :‬‬
‫‪E2=20 volts ، E1=10 volts، R3=800 ohom ، R2=2000 ohom،‬‬
‫و كان المطلوب تحديد التيارات ‪ I1‬و ‪ I2‬في كل جزء من الدائرة الكھربائية ‪ .‬يمكننا‬
‫إجراء ذلك بسھولة بإستخدام برنامج ‪ Mathcad‬كما مبين في أدناه‪:‬‬
‫‪Heat Transfer of a‬‬ ‫إنتقال الحرارة في قضيب غير معزول‬
‫‪noninsulated Rod‬‬
‫الشكل أدناه يبين قضيبا ً قد وضع مابين جدران تخضع الى التسخين عند درجات‬
‫حرارية ثابتة ‪ .‬حيث أن الحرارة تنساب من القضيب و كذلك مابين القضيب و الھواء‬
‫المحيط ‪.‬‬

‫‪R 1  1000  ‬‬

‫‪R 2  2000 ‬‬

‫‪R 3  800 ‬‬

‫‪E 1  10  V‬‬

‫‪E 2  20  V‬‬

‫‪ 1‬‬
‫‪ I1 ‬‬ ‫‪ R1‬‬ ‫‪R2‬‬ ‫‪‬‬ ‫‪ E1 ‬‬
‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬
‫‪ I2 ‬‬ ‫‪ R2‬‬ ‫‪R3‬‬ ‫‪‬‬ ‫‪ E2 ‬‬

‫‪ I 1    6.667  10  3‬‬ ‫‪‬‬


‫‪A‬‬
‫‪‬‬ ‫‪  ‬‬ ‫‪‬‬
‫‪‬‬ ‫‪I‬‬ ‫‪2‬‬ ‫‪  8.333  10  3‬‬ ‫‪‬‬

‫‪225‬‬
‫تطبيقات ھندسية‬

‫‪T a=20‬‬

‫‪T0=40‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪T 5=200‬‬

‫‪x‬‬ ‫‪Ta=20‬‬

‫‪X=0‬‬ ‫‪X=10‬‬

‫بالنسبة للحرارة المستقرة ‪ Steady State‬كماھو معروف‪ ،‬لفإن المعادلة التفاضلية‬


‫في مثل ھذا النظام من إنتقال الحرارة يمكن أن يعبّر عنھا بالشكل التالي‪:‬‬

‫‪d 2T‬‬
‫‪ h ' (Ta  T )  0‬‬
‫‪dx 2‬‬

‫حيث أن‪:‬‬
‫‪ = T‬درجة الحرارة )‪. (oC‬‬
‫‪ = X‬المسافة على طول القضيب )‪. (m‬‬
‫’‪ = h‬معامل إنتقال الحرارة مابين القضيب و الھواء المحيط )‪. (m-2‬‬
‫‪ = Ta‬درجة حرارة الھواء )‪. (oC‬‬

‫‪226‬‬
‫الفصل العاشر‬

‫بمعلومية ھذه القيم و الشروط الحدودية ‪ ،Boundary Conditions‬يمكننا حساب‬


‫الحل التحليلي ‪ . Analytical Solution‬فإذا كان‪، Ta =20، h’=0.01 ،‬‬
‫‪ ، T(0)=40,T(10)=200‬فإن الحل يكون كاآلتي‪:‬‬

‫‪T  73.4523e 0.1 x  53.4523e 0.1 x  20‬‬

‫و على الرغم من ذلك‪ ،‬فإن الحل التحليلي من الصعب الحصول عليه في مثل ھذه‬
‫المسائل و لھذا نلجأ الى الحل العددي ففي مثل ھذه الحالة يمكن تحويل المعادلة‬
‫التفاضلية الى نظام من المعادالت الخطية بإستخدام على سبيل المثال طريقة الفروق‬
‫المحددة ‪ Finite Difference‬و بعد ذلك يمكن حل ھذا النظام من المعادالت‬
‫بإستخدام ‪. Mathcad‬‬
‫في الشكل المبين في أعاله‪ ،‬تم تقسيم القضيب الى )‪ (6‬نقاط تفصل بينھما مسافات‬
‫متساوية ‪ .‬و بما أن طول القضيب كان )‪ (10m‬فقد كان مقدار المسافة مابين تلك‬
‫النقاط )‪ . (x=2‬و بإستخدام طريقة الفروق المحددة‪ ،‬فإن المشتقة الثانية عند كل نقطة‬

‫‪d 2 T Ti 1  2Ti  Ti 1‬‬


‫‪‬‬
‫‪dx 2‬‬ ‫‪Δx 2‬‬
‫‪ Node‬يمكن أن تعرّ ف بالشكل التالي‪:‬‬

‫حيث أن ‪ Ti‬ترمز الى درجة الحرارة عند كل نقطة ‪ .‬و بعد تعويض ھذه المعادلة في‬
‫المعادلة األصلية نحصل على النتيجة التالية‪:‬‬

‫‪Ti 1  2Ti  Ti 1‬‬


‫‪ h' (Ta  Ti )  0‬‬
‫‪Δx 2‬‬ ‫‪227‬‬
‫تطبيقات ھندسية‬

‫و بعد جمع الحدود و التعويض بالمعامالت نحصل على المعادلة التالية‪:‬‬

‫‪ Ti 1  2.04Ti  Ti 1  0.8‬‬

‫من ھنا‪ ،‬تم تحويل المعادلة التفاضلية الى معادلة جبرية و ھذه المعادلة يمكن تطبيقھا‬
‫على كل نقطةداخلية ‪: Interior Nodes‬‬

‫‪ T0  2.04T1  T2  0.8‬‬


‫‪ T1  2.04T2  T3  0.8‬‬
‫‪ T2  2.04T3  T4  0.8‬‬
‫‪ T3  2.04T4  T5  0.8‬‬
‫وبعد تعويض درجات الحرارة المعلومة ‪ ،‬يمكن كتابة المعادالت أعاله‪ ،‬بشكل‬
‫مصفوفة‪:‬‬

‫‪2.04‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0   T1  40.8‬‬


‫‪ 1‬‬ ‫‪2.04  1‬‬ ‫‪0  T2   0.8 ‬‬
‫‪‬‬ ‫‪   ‬‬ ‫‪‬‬
‫‪ 0‬‬ ‫‪ 1 2.04  1  T3   0.8 ‬‬
‫‪‬‬ ‫‪  ‬‬ ‫‪‬‬
‫‪ 0‬‬ ‫‪0‬‬ ‫‪ 1 2.04 T4  20.8‬‬
‫المعادالت الجبرية‪ ،‬يمكننا‬ ‫بعد أن تم تحويل المعادلة التفاضلية األصلية‪ ،‬الى نظام من‬
‫اآلن‪ ،‬إستخدام ‪ Mathcad‬في حل ھذا النظام من المعادالت كما مبين في أدناه‪:‬‬

‫‪228‬‬
‫الفصل العاشر‬

 2.04 1 0 0  0 1 2 3
  0 2.04 -1 0 0
 1 2.04 1 0 
A  A 1 -1 2.04 -1 0
 0 1 2.04 1 
  2 0 -1 2.04 -1
 0 0 1 2.04 
3 0 0 -1 2.04

 40.8  0
 
 0.8  0 40.8
B 
 0.8  B 1 0.8
  2 0.8
 200.8 
3 200.8

1
T  A B

 65.97 
 
 93.778 
T
 124.538 
 
 159.48 

229
‫تطبيقات ھندسية‬

‫ و الحل‬Analytical Solution ‫ النتائج لكل من الحل التحليلي‬،‫و يمكننا أيضا ً مقارنة‬


‫( لكال‬T) ‫( و‬X) ‫ من خالل رسم العالقة مابين‬Numerical Solution ‫العددي‬
:‫الطريقتين كما مبين في أدناه‬

0
 
2
4
x  0  2  10 X   
6
8
 10 
TAnalytic ( x )  73.4523 e
0.1 x
 53.452 e
 0.1 x
 20  

0 0 0
0 40 0 40 0 0
1 65.952 1 65.97 1 2
TAnalytic ( x )  2 93.748 Tnumerical  2 93.778 X 2 4
3 124.504 3 124.538 3 6
4 159.454 4 159.48 4 8
5 200 5 200 5 10

Analytical (line) and numerical (points)


200
T

100

0 5 10
X

Frictions Losses ‫فقد اإلحتكاك و اإلنخفاض بالضغط في األنابيب‬


and Pressure Drop in Pipe Line

230
‫الفصل العاشر‬

‫ماھو حجم المضخة المطلوبة لتحريك الماء عند سرعة ‪ 30 ft/s‬خالل أنبوب طوله‬
‫‪ 5000 ft‬و قطره الداخلي ‪ 1-inch‬؟ نفرض أن سرعة الماء ‪ 0.01 poise‬عند‬
‫درجة حرارة الغرفة و المضخة لھا كفاءة مقدارھا ‪. 0.70‬‬
‫خالل تصميم منظومة المضخة نحتاج عادة الى حساب اإلحتكاك في المنظومة و بانظر‬
‫لكون اإلحتكاك يتأثر باإلنخفاض في الضغط من إحدى نھايتي األنبوب الى األخرى ‪ ،‬و‬
‫نتيجة ھذا اإلحتكاك نحتاج الى مضخة لتحريك المائع و يجب حساب حجم المضخة‬
‫المطلوب و لھذا نحناج الى حساب الفقدان باإلحتكاك ‪...‬و ذلك لحساب اإلنخفاض‬
‫بالضغط ‪ ...‬وذلك لحساب حجم المضخة ‪.‬‬

‫و ھناك عدد من العوامل التي يمكن أن تساھم في اإلحتكاك مثل‪:‬‬


‫‪ ‬الصمامات ‪. Valves‬‬
‫‪ ‬اإلنحناء في األنبوب ‪. Bends in Pipe‬‬
‫‪ ‬خشونة األنبوب ‪. Rough in Pipe‬‬
‫‪ ‬وجود الرواسب في األنبوب ‪. Deposits in Pipe‬‬

‫و ھنا سوف ندرس فقط الحالة المبسطة أي أنبوب أفقي خالي من الصمامات أو‬
‫اإلنحناءات ‪.‬‬
‫و ھنا يمكن إستخدام معامل اإلحتكاك )‪ (f‬الذي يمكن حسابه بإستخدام معادلة ‪Von‬‬
‫‪: Karman‬‬

‫‪1‬‬ ‫‪f‬‬
‫‪ 2.5 ln( N Re‬‬ ‫‪)  1.75‬‬
‫‪f‬‬ ‫‪8‬‬
‫‪2‬‬

‫‪231‬‬
‫تطبيقات ھندسية‬

‫أما المعامالت التي نستخدمھا فھي كمايلي‪:‬‬


‫‪ = D‬قطر االنبوب الداخلي ‪. Inside pipe diameter‬‬
‫‪ = Vavg‬معدل سرعة المائع في األنبوب ‪Average velocity of the fluid in‬‬
‫‪. the tube‬‬
‫‪ = ‬كثافة المائع ‪. Density of the fluid‬‬
‫‪ = ‬لزوجة المائع ‪. Viscosity of fluid‬‬
‫‪ = L‬طول األنبوب ‪. Length of the pipe‬‬
‫‪ = gc‬ثابت الجاذبية )‪. Gravitational constant (gc=1 no units in SI‬‬
‫‪ = ‬كفاءة المضخة )‪. Efficiency of the pump(no units‬‬
‫‪ = Pp‬قدرة المضخة )‪. Pump’s power (HP or Kw‬‬
‫‪ = m‬معدل إنسياب كتلة المائع في األنبوب ‪Mass flow rate of fluid in the‬‬
‫‪. pipe‬‬

‫إن معادلة ‪ Von Karman‬تنطبق فقط على األنابيب الطرية ) أنابيب البولي فينل‬
‫كلورايد ‪ PVC Pipes‬و ليس أنابيب الفوالذ ‪ .( Steel Pipe‬كما أن عدد رينولد‬
‫‪ .‬إنى عدد رينولد‬ ‫‪(NRe>6000) 6000‬‬ ‫)‪ (NRe‬يجب أن يكون أكبر من‬
‫‪ Reynolds Number‬يمكن تحديده من خالل المعادلة التالية‪:‬‬

‫‪DVavg ρ‬‬
‫‪N Re ‬‬
‫‪μ‬‬

‫‪232‬‬
‫الفصل العاشر‬

‫و بعد معرفة عامل اإلحتكاك ‪ f‬يمكننا حساب اإلنخفاض بالضغط في األنبوب األفقي‬
‫من المعادلة التالية‪:‬‬

‫) ‪L  (Vavg‬‬
‫‪2‬‬

‫‪P  4 f‬‬
‫‪D 2gc‬‬

‫اآلن‪ ،‬بعد معرفة اإلنخفاض بالضغط يمكننا تحديد الطاقة لكل وحدة كتلة للتغلب على‬
‫اإلحتكاك‪:‬‬

‫‪P‬‬
‫‪hf ‬‬
‫‪‬‬

‫و من ثم يمكننا تحديد قدرة المضخة‪:‬‬


‫‪o‬‬

‫‪PP  h f m‬‬

‫اآلن‪ ،‬يمكننا حل ھذه المسألة بإستخدام برنامج ‪ Mathcad‬كما مبين في أدناه‪:‬‬

‫‪233‬‬
‫تطبيقات ھندسية‬

ft
Vavg  3  L  5000 ft D  1  in
sec

  0.01 poise   0.70

kg
  1000 gc  1
3
m

NRe 
D Vavg  

4
NRe  2.323  10

f  0.001

given

1  
f
2.5ln  NRe   1.75
f  8
2

f  find( f)

3
f  6.219  10

P  4  f 

L    Vavg 2
2  gc D

P
5 hf  hf  623.987Sv
P  6.24  10 Pa 

2
 D 4 2
Aflow      Aflow  5.067  10 m
2
kg
mdot  Vavg Aflow  mdot  0.463
s
mdot
3
 1.668  10
 kg 
 
 hr  h  m
 f dot
Pp  Pp  413.02W

Pp
 0.554
hp

234
‫الفصل العاشر‬

‫تطابق المنحني في مجموعة من بيانات الخواص الفيزيائية لمادة السيالنات‬


‫‪Curve Fitting of Physical Property Data of Silanes‬‬
‫السالنات عبارة عن مادة كيمياوية مھمة )سلسلة متشابكة من ھدريدات السيليكون( ‪،‬‬
‫تستخدم بشكل واسع في تصنيع رقائق السليكون ‪ Silicon wafers‬و ارقائق‬
‫المستخدمة في الصناعات اإللكترونية ‪ .‬و ھي مادة لھوبة )سريعة اإللتھاب(‬
‫‪ . Flamable‬و تحت الظروف المناسبة يمكن أن تخضع لإلشتعال بعد التماس مع‬
‫الھواء ‪ .‬من ھنا‪ ،‬مصنعي مادة السايلن‪ ،‬يجب أن يأخذو اإلحتياطات الالزمة لخفض‬
‫األخطار المرافقة لھذا الغاز ‪ .‬إن الجدول المبين في أدناه يبين الضغط البخاري‬
‫‪ Vapor Pressure‬بوحدات الباسكال )‪ (Pascals‬عند درجات حرارية مختلفة‬
‫)بوحدات الكلفن ‪. ( Kelvins‬‬

‫إن تحليل األخطار في مثل ھذا النوع من المواد يمثل جزء مھم من برنامج السالمة‬
‫الكيمياوية‪ ،‬كما أنه يمثل جزء كبير من من عمل بعض المھندسين الكيمياويين ‪ .‬و ھناك‬
‫العديد من البرامج الحاسوبية التي تساعد في تحليل األخطار ‪ .‬إال أنھا تتطلب بعض‬
‫المعرفة بالخواص الكيمياوية‪ ،‬الفيزياوية‪ ،‬و الخواص الطبية الحيوية للمواد الكيمياوية‬
‫المستخدمة ‪ .‬إن برامج تحليل الخطر قد كتبت و ذلك إلستخدام معادالت التطابق‬
‫القياسية أي إذا إستخدمنا ھذه البيانات في ھذه البرامج فإنھا يجب أن تكون في الحالة‬
‫القياسية ‪.‬‬

‫‪235‬‬
‫تطبيقات ھندسية‬

‫)‪SILANE Temperature(K) VAPOR PRESSURE(Pa‬‬


‫‪88.48‬‬ ‫‪21‬‬
‫‪97.54‬‬ ‫‪167‬‬
‫‪106.6‬‬ ‫‪640‬‬
‫‪115.66‬‬ ‫‪2227‬‬
‫‪124.72‬‬ ‫‪6110‬‬
‫‪133.79‬‬ ‫‪14144‬‬
‫‪142.85‬‬ ‫‪30318‬‬
‫‪151.91‬‬ ‫‪57430‬‬
‫‪160.97‬‬ ‫‪100078‬‬
‫‪170.03‬‬ ‫‪163913‬‬
‫‪179.09‬‬ ‫‪254015‬‬
‫‪188.15‬‬ ‫‪378009‬‬
‫‪197.21‬‬ ‫‪541607‬‬
‫‪206.27‬‬ ‫‪754829‬‬
‫‪215.33‬‬ ‫‪1027536‬‬
‫‪224.4‬‬ ‫‪1372259‬‬
‫‪233.46‬‬ ‫‪1804187‬‬
‫‪242.52‬‬ ‫‪2341104‬‬
‫‪251.58‬‬ ‫‪3006269‬‬
‫‪260.64‬‬ ‫‪3827011‬‬
‫‪269.7‬‬ ‫‪4838992‬‬

‫إن المعادلة القياسية لتطابق المنحني بالنسبة لضغط البخار ھي‪:‬‬

‫‪b‬‬
‫‪ln(P)  a ‬‬ ‫)‪ cln(T‬‬
‫‪T‬‬

‫وبإستخدام برنامج ‪ Mathcad‬يمكننا إجراء التطابق لھذه البيانات كما مبين في‬
‫األشكال التالية‪:‬‬

‫‪236‬‬
‫الفصل العاشر‬

 21 
 
167
 
 640   88.48 
 97.54 
 3  
 2.227  10   106.6 
 3   115.66 
 6.11  10 
  
4
 1.414  10   124.72 
 3.032  104   133.79  0
0
 
  0 21  142.85 
0 88.48
 5.743  104  1 167  151.91 
1 97.54
    2 106.6
 1.001  105  2 640
 160.97
 3 115.66
  3 2.227·10 3
5
 1.639  10   170.03  4 124.72
6.11·10 3
T   179.09 
4
  5 133.79
 5
2.54  10 
5 1.414·10 4  
P 
  6 3.032·10 4  188.15  6 142.85
5  197.21  T 7 151.91
 3.78  10  P  7 5.743·10 4
 
 5 8 1.001·10 5  206.27 
8 160.97
 5.416  10  9 170.03
9 1.639·10 5  215.33 
 5
  10 179.09
 7.548  10  10 2.54·10 5
 1.028  106  11 3.78·10 5
 224.4  11 188.15

   233.46  12 197.21
12 5.416·10 5  242.52 
 1.372  106  13 206.27
 
13 7.548·10 5  
 251.58  14 215.33
 1.804  106  14 1.028·10 6
 260.64  15 224.4
  15 1.372·10 6
 
6
 2.341  10   269.7 
 
 3.006  106 
 6

 3.827  10 
 6
 4.839  10 

237
‫تطبيقات ھندسية‬

 1 
 
 1 
f ( x ) 
 x 
20  
 ln ( x ) 

 
Coeffs  linfit T  ln ( P)  f  0
0 0.011
15 1 0.01
0 2 9.381·10 -3
0 30.304 3 8.646·10 -3
Coeffs 
1 -1.802·10 3 4 8.018·10 -3
Ppred
2 -1.494 5 7.474·10 -3
  10  6 7·10 -3
ln ( P) 1
 7 6.583·10 -3
a  30.304 T
8 6.212·10 -3
3
b  1.802  10 9 5.881·10 -3
10 5.584·10 -3
5 c  1.494
11 5.315·10 -3
12 5.071·10 -3
b  
13 4.848·10 -3
Ppred  a   c  ln ( T)
T 14 4.644·10 -3
0 15 4.456·10 -3
0.002 0.004 0.006 0.008 0.01
0
 0
0 3.241 1
0 3.045
1 4.987
1 T 5.118
2 6.424
2 6.461
3 7.626
3 7.708
4 8.645
4 8.718
5 9.52
5 9.557
6 10.276
  6 10.32
Ppred  7 10.937
ln ( P)  7 10.958
8 11.518
8 11.514
9 12.033
9 12.007
10 12.491
10 12.445
11 12.902
11 12.843
12 13.272
12 13.202
13 13.606
13 13.534
14 13.909
14 13.843
15 14.186
15 14.132

238
‫الفصل العاشر‬

‫فحص المزدوجات الحرارية ‪Checking Thermocouples‬‬


‫تص ّنع المزدوجات الحرارية بواسطة ربط أسالك من معدنين مختلفين ‪ .‬إن التماس‬
‫مابين المعدنين يؤدي عادة الى إنخفاض صغير بالفولتية عبر الوصلة ‪ junction‬و‬
‫على الرغم من اإلنخفاض الصغير إال أنه يمكن قياسه ‪ .‬إن ھذا اإلنخفاض بالفولتية‬
‫يتغير مع تغير درجة حرارة الموصلة ‪ ،‬و عليه يمكن إستخدام المزدوج الحراري في‬
‫قياس درجة الحرارة للمواد الھندسية عند معرفة العالقة مابين درجة الحرارة و الفولتية‬
‫‪ .‬إن فولتية المزدوج الحراري تتغير مع درجة الحرارة‪ ،‬أي أن الفولتية تعتمد على‬
‫درجة الحرارة‪ ،‬من ھنا‪ ،‬المتغير المستقل ‪) Independent Variable‬درجة‬
‫الحرارة( يمثل دائما ً محور )‪ (X‬و المتغير التابع ‪Dependent Variable‬‬
‫)الفولتية( يمثل دائما ً محور )‪ . (Y‬إن العالقة مابين درجة الحرارة و الفولتية تكون‬
‫تقريبا ً خطية ‪ . Linear‬و يمكننا ببساطة الحصول على منحني المعايرة من خالل رسم‬
‫العالقة مابين ‪ . X,Y‬لو إفترضنا‪ ،‬أن لدينا بيانات المعايرة التالية لنوعين من‬
‫المزدوجات الحرارية ‪: TC1,TC1‬‬

‫)‪Water Temp. TC1(Output‬‬ ‫)‪TC2(Output‬‬


‫‪o‬‬
‫)‪( C‬‬ ‫)‪(mV‬‬ ‫)‪(mV‬‬
‫‪20‬‬ ‫‪1.019‬‬ ‫‪1.098‬‬
‫‪30‬‬ ‫‪1.537‬‬ ‫‪1.92‬‬
‫‪40‬‬ ‫‪2.059‬‬ ‫‪2.526‬‬
‫‪50‬‬ ‫‪2.585‬‬ ‫‪2.816‬‬
‫‪60‬‬ ‫‪3.116‬‬ ‫‪2.842‬‬
‫‪70‬‬ ‫‪3.65‬‬ ‫‪4.129‬‬
‫‪80‬‬ ‫‪4.187‬‬ ‫‪4.266‬‬
‫‪90‬‬ ‫‪4.726‬‬ ‫‪4.34‬‬
‫‪239‬‬
‫تطبيقات ھندسية‬

‫و كان المطلوب التنبأ بفولتية المزدوج الحراري عند درجة الحرارة )‪ (85oC‬لكال‬
‫النوعين و كذلك التنبأ بدرجة حرارة الوصلة عندما تكون فولتية المزدوج الحراري‬
‫‪ ، 2.5 mV‬فيمكننا إجراء ذلك بسھولة كما مبين في األشكال التالية‪:‬‬

‫‪A ‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬
‫‪0‬‬ ‫‪20‬‬ ‫‪1.02‬‬ ‫‪1.1‬‬
‫‪1‬‬ ‫‪30‬‬ ‫‪1.54‬‬ ‫‪1.92‬‬
‫‪2‬‬ ‫‪40‬‬ ‫‪2.06‬‬ ‫‪2.53‬‬
‫‪3‬‬ ‫‪50‬‬ ‫‪2.59‬‬ ‫‪2.82‬‬
‫‪4‬‬ ‫‪60‬‬ ‫‪3.12‬‬ ‫‪2.84‬‬
‫‪5‬‬ ‫‪70‬‬ ‫‪3.65‬‬ ‫‪4.13‬‬
‫‪6‬‬ ‫‪80‬‬ ‫‪4.19‬‬ ‫‪4.27‬‬
‫‪7‬‬ ‫‪90‬‬ ‫‪4.73‬‬ ‫‪4.34‬‬

‫‪0‬‬
‫‪Temp  A‬‬
‫‪ 20 ‬‬ ‫‪ 1.019 ‬‬ ‫‪ 1.098 ‬‬
‫‪1‬‬ ‫‪ 30 ‬‬ ‫‪ 1.537 ‬‬ ‫‪ 1.92 ‬‬
‫‪TC1  A‬‬
‫‪2‬‬ ‫‪ 40 ‬‬ ‫‪ 2.059 ‬‬ ‫‪ 2.526 ‬‬
‫‪TC2  A‬‬ ‫‪ ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬
‫‪Temp ‬‬
‫‪ 50 ‬‬ ‫‪TC1 ‬‬
‫‪‬‬ ‫‪2.585‬‬ ‫‪‬‬ ‫‪TC2 ‬‬
‫‪‬‬ ‫‪2.816‬‬ ‫‪‬‬
‫‪ 60 ‬‬ ‫‪ 3.116 ‬‬ ‫‪ 2.842 ‬‬
‫‪ ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬
‫‪ 70 ‬‬ ‫‪ 3.65 ‬‬ ‫‪ 4.129 ‬‬
‫‪ 80 ‬‬ ‫‪ 4.187 ‬‬ ‫‪ 4.266 ‬‬
‫‪ 90 ‬‬ ‫‪ 4.726 ‬‬ ‫‪ 4.34 ‬‬
‫‪ ‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬

‫‪240‬‬
‫الفصل العاشر‬

b  intercept( Temp TC1) b  0.054


B  intercept( Temp TC2) B  0.422
m  slope ( Temp TC1) m  0.053
M  slope ( Temp TC2) M  0.047
i  0  last ( Temp)

TC1pred  b  m  Temp

TC2pred  B  M  Temp


R21  corr TC1 TC1pred  2
R21  1


R22  corr TC2 TC2pred 2 R22  0.942

241
‫تطبيقات ھندسية‬

TC1 Output
6

TC1
4
TC1 pred

0
0 50 100
Temp

TC2 Output
6

TC2
4
TC2 pred

0
0 50 100
Temp

Voltage_TC1  linterp ( Temp  TC1  85) Voltage_TC1  4.457

Voltage_TC2  linterp ( Temp  TC2  85) Voltage_TC2  4.303

( 2.5  b)
TempTC1  TempTC1  48.207
m

( 2.5  B )
TempTC2  TempTC2  44.47
M

242
‫الفصل العاشر‬

‫‪Analyzing‬‬ ‫تحليل مخططات اإلجھاد‪-‬اإلنفعال في المواد الھندسية‬


‫‪Stress-Strain Diagrams in Engineering Materials‬‬
‫يعتبر إختبار الشد من اإلختبارات الميكانيكية الشائعة اإلستخدام للمواد الھندسية ‪ .‬حيث‬
‫يتم تحضير عينة الشد حسب المواصفات العالمية مثل ‪ ASTM, BS‬و بعد ذلك‬
‫تخضع العينة الى إختبار الشد حيث يتم من خالل ھذا اإلختبار تسجيل كل من القوة‬
‫‪ Force‬و اإلستطالة ‪ . Extension‬فعندما تخضع العينة للشد يبدأ المعدن باإلستطالة‬
‫ويصل الى نقطة معينة تسمى حد المرونة ‪ Elastic Limit‬و عند إزالة الحمل تحت‬
‫ھذه النفقطة يمكن أن يعود المعدن الى طوله األصلي ‪ .‬و بعد ھذه النقطة يدخل المعدن‬
‫في مرحلة تسمى مرحلة المرونة ‪ Plasticity‬يخضع بعدھا المعدن الى أقصى إجھاد‬
‫يمكن أن يتحمله من دون أن يخضع الى اإلنكسار يسمى قيمة اإلجھاد القصوى)‬
‫‪ . Ultimate Tensile Stress (U.T.S‬و بعد ھذه النقطة ينخفض اإلجھاد و من‬
‫ثم تخضع العينة لإلنكسار حيث تسمى نقطة اإلنفعال ‪ Strain‬عند تلك النقطة من‬
‫منحني اإلجھاد‪-‬اإلنفعال )‪ (‬المطيلية ‪ . Ductility‬و من خالل ھذا المنحني يمكن‬
‫الحصول على الخواص الميكانيكية التالية‪:‬‬
‫‪ ‬معامل المرونة )يونك()‪. Modulus of Elasticity (Young) (E‬‬
‫‪ ‬حد المرونة )‪. Elastic Limit (EL‬‬
‫‪ ‬قيمة اإلجھاد القصوى )‪. Ultimate Tensile Stress (U.T.S‬‬
‫‪ ‬المطيلية )‪. Ductility (‬‬
‫‪ ‬المتانة )‪. Toughness (T‬‬

‫البيانات التالية تمثل قيم القوة‪-‬اإلستطالة تم الحصول عليھا من من إختبار الشد الذي‬
‫أجري على عينة من من معدن معين حجمھا )‪: (10mmG10mmG10mm‬‬

‫‪243‬‬
‫تطبيقات ھندسية‬

‫)‪Extension(mm) Force(N‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪2.80E-03‬‬ ‫‪5.50E+03‬‬
‫‪5.50E-03‬‬ ‫‪1.10E+04‬‬
‫‪8.30E-03‬‬ ‫‪1.65E+04‬‬
‫‪1.10E-02‬‬ ‫‪2.21E+04‬‬
‫‪0.041‬‬ ‫‪2.76E+04‬‬
‫‪0.132‬‬ ‫‪3.31E+04‬‬
‫‪0.27‬‬ ‫‪3.86E+04‬‬
‫‪0.419‬‬ ‫‪4.41E+04‬‬
‫‪0.621‬‬ ‫‪4.96E+04‬‬
‫‪1.379‬‬ ‫‪5.52E+04‬‬
‫‪2.097‬‬ ‫‪5.24E+04‬‬
‫‪2.483‬‬ ‫‪4.96E+04‬‬

‫حيث يمكن تحليل منحني اإلجھاد‪-‬اإلنفعال لھذه البيانات بإستخدام برنامج ‪Mathcad‬‬
‫كما مبين في أدناه‪:‬‬

‫‪244‬‬
‫الفصل العاشر‬

H  10
L  10

W  10

A  L  W
EX  X H
F  Y  A

0 0
0 0 0 0
1 5.5·10 3 1 2.8·10 -3
2 1.1·10 4 2 5.5·10 -3
3 1.65·10 4 3 8.3·10 -3
4 2.21·10 4 4 0.011
5 2.76·10 4 5 0.041
F EX 
6 3.31·10 4 6 0.132
7 3.86·10 4 7 0.27
8 4.41·10 4 8 0.419
9 4.96·10 4 9 0.621
10 5.52·10 4 10 1.379
11 5.24·10 4 11 2.097
12 4.96·10 4 12 2.483

245
‫تطبيقات ھندسية‬

EX F
   
H A

0 0
0 0 0 0
1 2.8·10 -4 1 55
2 5.5·10 -4 2 110
3 8.3·10 -4 3 165
4 1.1·10 -3 4 221
5 4.14·10 -3 5 276
 
6 0.013 6 331
7 0.027 7 386
8 0.042 8 441
9 0.062 9 496
10 0.138 10 552
11 0.21 11 524
12 0.248 12 496

246
‫الفصل العاشر‬

Stress-Strain Diagram
600

400

200

0
0 0.05 0.1 0.15 0.2 0.25

 2  1  5
E  E  2.037  10
 2  1

U.T.S  11 U.T.S  524

  12   0.248

length ( x)  2
 yi  yi 1   xi 1  x i
trap ( x  y ) 
 2
i 0

T  trap (   ) T  122.216

247
‫تطبيقات ھندسية‬

‫‪Stress-Strain Curve Of‬‬ ‫منحني اإلجھاد‪-‬اإلنفعال للمواد المركبة‬


‫‪Composite Materials‬‬
‫إن منحنيات اإلجھاد‪-‬اإلنفعال للمواد المركبة لھا شكل مختلف عن المعادن نتيجة‬
‫اإلستجابة المختلفة لإلجھاد ‪ .‬إن ھذا اإلختالف يمكن أن يعزى الى طبيعة المادة‬
‫المركبة التي تتكون من جزئين أساسين ھما‪ :‬األرضية ‪ Matrix‬و األلياف ‪Fibers‬‬
‫)طور التقوية ‪ ، ( Reinforcement Phase‬حيث أن األرضية تتحمل معظم‬
‫اإلجھاد و بالتالي تخضع للتشقق ‪ Cracking‬و من ثم اإلنفصال عن األلياف و بعد‬
‫ذلك ينتقل اإلجھاد الى األلياف ‪ ،‬و كمثال على ذلك‪ ،‬ندرس بيانات القوة‪-‬اإلستطالة‬
‫التالية لعينة من مادة مركبة‪:‬‬

‫)‪F(N‬‬ ‫)‪X(mm‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪5500‬‬ ‫‪0.009‬‬
‫‪8300‬‬ ‫‪0.014‬‬
‫‪13800‬‬ ‫‪0.023‬‬
‫‪16500‬‬ ‫‪0.033‬‬
‫‪22100‬‬ ‫‪0.051‬‬
‫‪24800‬‬ ‫‪0.066‬‬
‫‪30300‬‬ ‫‪0.137‬‬
‫‪33100‬‬ ‫‪0.248‬‬
‫‪38600‬‬ ‫‪0.38‬‬
‫‪41400‬‬ ‫‪0.407‬‬
‫‪46900‬‬ ‫‪0.461‬‬
‫‪49600‬‬ ‫‪0.488‬‬
‫‪55200‬‬ ‫‪0.561‬‬
‫‪57900‬‬ ‫‪0.628‬‬
‫‪60700‬‬ ‫‪0.749‬‬
‫يمكننا ببساطة تحديد معامل المرونة من ھذه البيانات لكل من األرضية ‪ Matrix‬و‬
‫األلياف ‪ ، Fiber‬كما يمكننا تحديد معامل المرونة للمادة المركبة عند قيم معينة من‬
‫اإلنفعال كما مبين في األشكال أدناه‪:‬‬

‫‪248‬‬
‫الفصل العاشر‬

C 
0 1
0 0 0
1 5500 0.01
2 8300 0.01
3 13800 0.02
4 16500 0.03
5 22100 0.05
6 24800 0.07
7 30300 0.14
8 33100 0.25
9 38600 0.38

1 
0  X  C
F  C

0 0
0 0 0 0
1 5.5·10 3 1 9·10 -3
2 8.3·10 3 2 0.014
3 1.38·10 4 3 0.023
4 1.65·10 4 4 0.033
5 2.21·10 4 5 0.051
6 2.48·10 4 6 0.066
F  7 3.03·10 4 X  7 0.137
8 3.31·10 4 8 0.248
9 3.86·10 4 9 0.38
10 4.14·10 4 10 0.407
11 4.69·10 4 11 0.461
12 4.96·10 4 12 0.488
13 5.52·10 4 13 0.561
14 5.79·10 4 14 0.628
15 6.07·10 4 15 0.749

249
‫تطبيقات ھندسية‬

L  10

W  10

H  10

A  L  W

F
 
A

X
 
H
0 0
0 0 0 0
1 55 1 9·10 -4
2 83 2 1.4·10 -3
3 138 3 2.3·10 -3
4 165 4 3.3·10 -3
5 221 5 5.1·10 -3
6 248 6 6.6·10 -3
  7 303  7 0.014
8 331 8 0.025
9 386 9 0.038
10 414 10 0.041
11 469 11 0.046
12 496 12 0.049
13 552 13 0.056
14 579 14 0.063
15 607 15 0.075

250
‫الفصل العاشر‬

 0 
 
 9  10 
 4
 
 1.4  10 3 
 
3
 2.3  10 
 3

 3.3  10 
 3
 5.1  10 
 3
6.6  10
x 
 
 0.014 
 0.025 
 
 0.038 
 0.041 
 
 0.046 
 0.049 
 
x   0.056 
 
2  0.063 
x 
   6.057  104 
 3  0.075  0
f ( x )   x 
 
 4.108  106  0 0
 4
  1 51.273
x  b  linfit (     f) b   1.227  108 
 5 2 77.076
x   
3 119.027
 1.581  109 
 9
 4 159.367
   7.347  10  5 217.286
p   b0  x  b1  x  b2  x  b3  x  b4  x 
2 3 4 5 6 253.179
p  7 322.661
8 317.787
9 387.066
10 416.93
11 469.681
12 499.671
13 553.151
14 575.795
15 608.637

251
‫تطبيقات ھندسية‬

Stress-Strain Curve of Composite


800

600

p 400

200

0
0 0.02 0.04 0.06 0.08

Young's modulus of matrix at x=0.001

x  0.001

d  b0  x  b1  x2  b2  x3  b3  x4  b4  x5   5.271  104
 
dx

Young's modulus of fiber at x=0.048

x  0.048

d  b0  x  b1  x2  b2  x3  b3  x4  b4  x5   9.863  103
 
dx

3  0 4
Ematrix  Ematrix  6  10
3  0
12  10
Efiber  4
12  10 Efiber  1.012  10

Capacitor ‫المكثف السعوي‬

252
‫الفصل العاشر‬

‫إن نظام المعادالت التفاضلية‪ ،‬التي تعبّر عن دورة التيار )‪ (i‬و الشحنة )‪ (q‬في الكمثف‬
‫السعوي للدائرة الكھربائية المبينة في أدناه ھي‪:‬‬

‫‪L‬‬

‫‪i‬‬
‫)‪E (t‬‬
‫‪R‬‬
‫‪i‬‬

‫‪C‬‬

‫‪di‬‬ ‫‪q‬‬ ‫‪dq‬‬


‫‪L‬‬ ‫)‪ Ri   E(t‬‬ ‫‪i‬‬
‫‪dt‬‬ ‫‪C‬‬ ‫‪dt‬‬

‫فإذا إفترضنا أن الفولتية المسلطة تزداد بشكل مفاجئ من )‪ (0‬الى )‪ (9‬فولت و أن‬
‫‪ ، R=1 Ohm‬و معامل الحث الذاتي ‪ ، L=2 H‬و السعة ‪ ، C=0.45 F‬والشروط‬
‫اإلبتدائية ‪:‬‬

‫‪0 ‬‬ ‫‪ y  q ‬‬


‫‪y(0)   ‬‬ ‫‪y   1   ‬‬
‫‪0 ‬‬ ‫‪y 2   i ‬‬

‫فإذا‪ ،‬إفترضنا أننا نريد رسم دورة التيار ‪ Current Loop‬خالل العشر ثواني‬
‫األولى‪ ،‬فبإمكاننا إجراء ذلك بسھولة بواسطة ‪ Mathcad‬كما في مبين في أدناه‪:‬‬

‫‪253‬‬
‫تطبيقات ھندسية‬

R  1

C  0.45

E  9
Capacitor
6
L  2

4 y   
0
0 
2
Zn  2
0
 y1 
 
 y 
D2( t  y )    R  1  0  E 
 C  

4  L 

6
0 2 4 6 8 10
Z  rkfixed ( y  0  10  100  D )
Zn  0
t q(t) i(t)
0 1 2
0 0 0
OR0
1 0.1 0.022 0.449
2 0.2 0.09 Capacitor
0.893
6 3 0.3 0.201 1.328
4 0.4 0.355 1.747
4 5 0.5 0.55 2.147
6 0.6 0.783 2.524
2
Z 7 0.7 1.053 2.872
Current(A)

8 0.8 1.357 3.188


0 9 0.9 1.69 3.469
10 1 2.049 3.712
2
11 1.1 2.431 3.913
12 1.2 2.83 4.071
4
13 1.3 3.243 4.184
14 1.4 3.666 4.25
6
0 15 21.5 4.0924 4.269 6n  1  100
8 10
Time(s)

254
‫الفصل العاشر‬

‫ربّ العالمين ‪.‬‬ ‫و بنھاية ھذا التطبيق‪ ،‬ينتھي الكتاب و الحمد‬

‫‪255‬‬
‫الملحق )‪(A‬‬
‫حساب األخطاء العددية ‪Numerical Errors Computation‬‬
‫ھناك عدة مصادر لألخطاء العددية و ھذه تتضمن النموذج الرياضي الغير دقيق‬
‫‪ ، Inaccurate‬الخطأ البرمجي‬ ‫‪Mathematical‬‬ ‫‪Modeling‬‬
‫‪ ، Wrong Programming‬و خطأ اإلدخال ‪... Wrong Input‬الخ ‪ .‬و‬
‫يمكن تعريف الخطأ الحقيقي )‪ ، True Error (ETrue‬بأنه الفرق مابين القيمة‬
‫‪True‬‬ ‫المحسوبة )‪ ، Computed Value (Xcomp‬و القيمة الحقيقية‬
‫)‪ Value (XTrue‬للعدد‪:‬‬

‫‪E True  X Comp  X True‬‬ ‫)‪(A.1‬‬

‫أما الخطأ الحقيقي النسبي ‪ ، Relative True Error‬فيمكن أن يعرّ ف ‪،‬‬


‫بأنه الخطأ الحقيقي نسبة الى القيمة الحقيقية ‪:‬‬

‫‪X Comp  X True‬‬


‫‪er ‬‬ ‫)‪(A.2‬‬
‫‪X True‬‬

‫و يمكن التعبير عن الخطأ الحقيقي النسبي بعبارات النسبة المئوية ‪:Percentage‬‬

‫‪XComp  XTrue‬‬
‫‪er ‬‬ ‫)‪.100 (%‬‬ ‫)‪(A.2‬‬
‫‪XTrue‬‬
‫المصادر ‪References‬‬

‫‪259‬‬
1) Mathcad User’s Guide “Mathcad 2000 Professional”
“Mathcad 2000 Standard” , Mathsoft, Inc. 101main
Street, Cambridge , Massachusetts02142
,USA,www.mathsoft.com.
2) Mathcad13, User’s Guide , Mathsoft Engineering &
Education,Inc.2005.
3) Ronald W.Larsen , “Introduction to Mathcad 11”,
Pearson Prentice Hall,2004.
4) J.P.Singh, “ Probability and Numerical Methods”,
AneBooks, India,2008.
5) G.Haribaskaran, “ Numerical Methods “, Laxmi
Publications, LTD, 2008.

Numerical Analysis
Using Mathcad Program

260
By
Dr.Abbas Khammas Hussein

The University of Technology


Materials Engineering
Department

261

You might also like