قوانين الملتقى | نسيت كلمة المرور
◄   شارك في دعم الملتقى 

◄  للإعلان أو لطلبات البحث عن موظفين
 

أنت غير مشترك بملتقى المهندسين العرب .. للاشتراك اضغط هنا 

http://www.arab-eng.org/vb/uploaded2009/1/1268238098.gif

   مجموعات بريدية مدعومة من ملتقى المهندسين : قروب الهندسة الصناعية - قروب هندسة التعدين و البترول

العودة   ملتقى المهندسين العرب - أول ملتقى هندسي عربي > الهندسة الميكانيكية > هندسة الميكاترونكس > برنامج الـ Matlab


الماتلاب خطوة بخطوة (تعلم كل شئ عن الماتلاب)


موضوع مغلق
 
LinkBack أدوات الموضوع
قديم 25-08-2006, 01:31 AM   رقم المشاركة : [71 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post Three Dimensional Plotting

الرسم ثلاثي الأبعاد
كما تعلمنا أن الرسم ثلاثي الأبعاد يعتمد على ثلاثة محاور لرسمها, محور X , Y & Z , وأن كلاً من X & Y يمثلان المستوى الأفقي, وأن المحور Z يمثل الإرتفاع, ولكن تلك القيم هي قيم النقاط الموجودة المحاور, ولكن حتى يتم رسم أي نقطة في المستوى الأفقي يجب أن نقوم تعريف ذلك للماتلاب وذلك بإستخدام الأمر meshgrid حيث يقوم الماتلاب بإنتاج مصفوفة يتم تكرار قيم محور السينات X-Axis بنفس طول محور الصادات Y-Axis, كما يقوم بتكرار قيم محور الصادات Y-Axis بنفس طول قيم السينات X-Axis, وبهذا تكون المصفوفة المتكونة هي المستوى الأفقي كما هو واضح بالرسم التالي.

علما أن الأمر meshgrid يأخذ الصورة التالية في كتابته

وبعد إستخدام الأمر meshgrid يتم إستخدام الأمر mesh والذي يستخدم كبديل الأمر plot ولكن في الرسم ثلاثي الأبعاد
مثال تطبيقي
نقوم في هذا المثال بتعريف قيم محور السينات X-Axis وسنقوم بوضع المعادلة التي تصف محور الصادات وعلاقته بمحور السينات, أخيراً وليس آخراً نقوم بوضع العلاقة التي تربط بين محور السينات والصادات.

وبالتالي تكون الرسمة الناتجة كالتالي

كما ترى فإن الرسمة الناتجة عبارة عن شبكة تعتمد مجموعة النقاط لكلاً من X & Y فإذا أكثرنا عدد نقاط X وبالتالي تزداد قيمة Y كذلك

وبالتالي فإن الرسمة الناتجة تكون كالتالي

أعتقد أنك تلاحظ الفرق الآن
ملاحظة كلما زادت عدد النقاط كلما زاد الوقت المستغرق لإظهار النتائج في الماتلاب
وبهذا نكون قد أتممنا الإسبوع الثاني بفضل الله
الإسبوع الثالث بإذن الله أمثلة تطبيقية


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 25-08-2006, 01:49 AM   رقم المشاركة : [72 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post تم الإنتهاء من الأسبوع الثاني

تم الإنتهاء من الأسبوع الثاني من الدورة بفضل الله


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 25-08-2006, 10:04 PM   رقم المشاركة : [73 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post الإسبوع الثالث

السلام عليكم ورحمة الله وبركاته
أخواني الكرام, نستكمل معكم دورة الماتلاب, وهي في إسبوعها الثالث, وسوف نتناول في هذا الإسبوع العديد من الأمثلة التطبيقية, وسيتم شرح مثال تطبيقي كل يوم, وهذا ملخص للأمثلة التطبيقية التي سيتم أخذها بإذن الله.
1- كيفية إدخال ثلاث معادلات وإيجاد قيم المتغيرات
2- Curve Fitting
3- نقل المحاور
4- إيجاد نقط تقاطع الرسمة مع محور السينات ووضع علامة عليها
5- إختيار نقطتان من على الرسم, وإيجاد المساحة تحت المنحنى بين تلك النقطتين

وسنتناول الآن المثال الأول


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 26-08-2006, 12:13 AM   رقم المشاركة : [74 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post حل ثلاث معادلات

EVAL
قبل البدء بالتطبيق الأول, لابد من ذكر أمر هام وهو الأمر eval والذي له هدف أكثر من رائع سيتضح بمثال, لنقل أن لدينا معادلة جيب الزاوية Sine Wave ولكن تم وضعها في الصورة التالية في الماتلاب

وللتأكد أنها في صورة string يجب الذهاب إلى الــ Workspace

ولرسم موجة جيب الزاوية لابد من تعريف قيم t والتعويض فيها, ولكن كما ترون يصعب التعويض في المعادلة بسبب وجودها بين قوسين, وتلك الأقواس هي بمثابة حاجز للتعويض, وهنا يجب أن نخترق ذلك الحاجز وذلك بإستخدام الأمر eval, حيث يعمل الأمر على البحث عن المعادلة بين الأقواس, ثم يبحث عن القيم التي سوف يتم تعويضها في تلك المعادلة, وسوف يتم كتابة البرنامج كالتالي في الماتلاب

وبالتالي ستظهر النتيجة كالتالي

ونحن الآن على أتم إستعداد لتنفيذ التطبيق الأول


التعديل الأخير تم بواسطة م.أحمد عفيفي سلامة ; 26-08-2006 الساعة 01:47 PM.
التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 26-08-2006, 01:08 PM   رقم المشاركة : [75 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post حل ثلاثة معادلات

حل ثلاثة معادلات
كما تعلمنا أن الماتلاب له القدرة على إدخال حل المعادلات, فمثلاً المعادلتان التاليتين

ويمكن كتابة ذلك على الماتلاب كالتالي

وبالتالي نجد النتائج كالتالي

ولكن هذا يشترط أن يتم إدخال المعاملات coefficients للمعادلتين, وهذا بالتالي يتطلب التمحيص والتدقيق في كل معادلة, فإذا كثرت المعادلات إزداد الوقت المستغرق في البحث, فتسهيلاً للمستخدم يجب عمل برنامج لإدخال المعادلات بشكل كام, فمثلاً سنقوم بعمل برنامج لحل ثلاثة معادلات

ولحل هذه المعادلات يجب وضعها في الصورة التالية

ولذلك يجب التفكير كالتالي, عندما يقوم المستخدم بإدخال المعادلات الثلاثة, يجب على الماتلاب أن يحدد قيم المعاملات أولاً لإيجاد حل قيم المتغيرات, وحلاً لهذه المشكلة سنجعل الماتلاب يبحث عن علامة "="
لكل معادلة, ثم سنقوم بتعريف الجزء الذي يحتوى على المتغيرات لكل معادلة, ثم سنقوم بفرض أن
x=1 , y=0,z=0
ومنها نحصل على قيم معاملات x في المعادلات الثلاثة
ثم سنفرض أن x=0, y=1, z=0
ومنها نحصل على قيم معاملات y في المعادلات الثلاثة
ثم سنفرض أن x=0,y=0,z=1
ومنها نحصل على قيم معاملات z في المعادلات الثلاثة
وبالتالي نكون قد حصلنا على معاملات المعادلات الثلاثة, لم يتبقى سوى إيجاد قيم معاملات D وسوف يتم توضيح ذلك عند كتابة البرنامج على الماتلاب.

وسنقوم الآن بوضع ثلاثة معادلات كما في الشكل التالي

وبالتالي ستكون النتائج كالتالي

وعلى نفس المنوال يمكن حل أي عدد من المعادلات مهما كانت كبيرة, وسنأخذ لاحقاً كيفية عمل نافذة لإدخال تلك المعادلات
وبهذا نكون قد أتممنا التطبيق الأول بنجاح, ولا تترددوا في مراسلتي في حالة عدم وضوح بعض الأجزاء


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 26-08-2006, 04:33 PM   رقم المشاركة : [76 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post Zero Crossing

Zero Crossing
في هذا المثال الهام سنقوم بشرح كيفية رسم معادلة, ووضع دائرة زرقاء على مناطق تقاطعها مع محور السينات, والتي يجب أن تأخذ الشكل التالي

قد يعتقد البعض بأن هذا البرنامج سهلاً تقريباً, ولكن البرنامج يحتاج إلى التفكير قليلاً, فدعونا نفكر في الطريقة التي قد يفكر بها أي شخص الآن, حيث سيقوم بكتابة البرنامج الذي يبحث عن النقاط التي بها Y=0 ثم يقوم بإيجاد القيم التي بها تلك النقاط, كما في البرنامج التالي

وستكون الرسمة النالتجة بالشكل التالي

فما سبب هذه المشكلة, حقيقة سببها ما يسمى بــ Digital Domain, فما هو Digital Domain
معنى ذلك أن أي معادلة يتم رسمها ليست عبارة عن خط متصل وإنما مجموعة من النقاط, تعتمد على عدد النقاط التي تم إختيارها في لرسم الدالة, ثم التوصيل بين تلك النقاط, فمثلاً إذا قمنا بعمل برنامج لرسم دالة الجيب sine wave بعدد نقاط قليل, كما في الشكل التالي

وبالتالي ستجد الدالة بهذا الشكل

كما ترى, فإن الماتلاب قام بتحديد النقاط والتوصيل بينها, وللتأكد من ذلك قم بعمل التالي في البرنامج

وبالتالي فإن الرسمة الناتجة, تكون في الصورة التالية

وهذا ما يسمى Digital Domain والآن لنقم بزيادة عدد النقاط في نفس البرنامج

وتكون الرسمة كالتالي

كما ترى في الرسمة لايزال هنالك فراغات بين النقاط , والتي من الممكن أن لا تتقاطع مع محور السينات كما حدث في البرنامج الذي قمنا بعمله, وهذا هو سبب عدم ظهور دائرة حمراء حول منطقة التقاطع, ودعونا نقوم بعمل البرنامج الأول ولكن في صورة Digital Domain

وستظهر الرسمة في الصورة التالية

والآن دعونا ننقاش حلاً لهذه المشكلة, عند ضرب نقطة في النقطة التي بعدها سنحصل على رقم, ولكن الفكرة أن الرقم قد يكون موجباً في حالة ان النقطتان فوق محور السينات, بينما إذا كانت إحدى النقط فوق محور السينات والآخرى تحت محور السينات فإن الرقم الناتج يكون سالباً, أما إذا كان كلا النقتطين أسفل محور السينات فإن ناتج ضرب النقتطين يكون موجباً, أي أن إذا ظهر رقم سالب فهذا يعني نقطة تقاطع, ثم يتم وضع دائرة حمراء على تلك النقطة, شاهد الصورة التالية

كل ما علينا هو ضرب كل نقطة في النقطة التي تليها, وذلك عن طريق تعريف y ثم تعريف نفس الدالة, ولكن متقدمة عنها برقم واحد, ثم ضربهم معاً, فمثلاً إذا كانت قيمة y كالآتي

ثم سنقوم بإضافة رقم ليتم تحريك تلك القيم, ويفضل أن يكون الرقم صفراً, كما سيتم حذف الرقم الأخير حيث أنها ستكون أطول بعدد واحد فقط من الدالة الأصلية مما سيترتب عليه خطأ داخل الماتلاب وبالتالي فإن الدالة الجديدة ستكون متأخرة برقمهي

والآن سنقوم بكتابة البرنامج بالتدريج التالي

وبالتالي ستلاحظ الرسمة التالية

وبالتالي تكون الرسمة قد أصبحت صحيحة
وبهذا ينتهي التطبيق الثاني


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 27-08-2006, 04:12 PM   رقم المشاركة : [77 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post إيجاد المساحة تحت المنحنى

إيجاد المساحة تحت المنحنى
هذا المثال من التطبيقات الهامة, حيث سنقوم بتعريف المدخلات ورسم الدالة, ثم سنختار نقطتان نقطتان من على الرسم, ثم سنقوم بإيجاد المساحة بين تلك النقطتين, ونقوم بتظليل الجزء المختار, ولكن سنقوم في هذا المثال بإستخدام أمرين جديدين وهما
trapz لإيجاد المساحة تحت المنحنى
area لتظليل تلك المساحة من الدالة
وسنقوم بشرح الأمر area
حيث يأخذ الصورة التالية

وسنقوم بتنفيذ مثال بسيط على الماتلاب برسم دالة الجيب ثم تظليل تلك الدالة

وستظهر الرسمة كالتالي

أما بخصوص الأمر trapz فيستخدم في إيجاد المساحة تحت المنحنى, حيث يأخذ الصورة التالية

وسنقوم بعمل برنامج بسيط في إيجاد المساحة تحت منحنى دالة الجيب

وبالتالي ستلاحظ قيمة المساحة من خلال نافذة Workspace

الآن نتوجه إلى البرنامج الذي نريد تنفيذه, سنقوم بإدخال المدخلات inputs ثم سنقوم بالتعويض بها في المخرجات outputs ثم سنقوم بإختيار النقطتان من على الرسمة, ثم سنوجد المساحة تحت المنحنى بين تلك النقطتين, ثم سنقوم بتظليل المساحة بين النقتطين.

وتم إختيار نقتطان عشوائيتان, وظهرت الرسمة كالتالي

وبهذا يكون التطبيق الثالث قد تم بنجاح
التطبيق الرابع والأخير في هذه الدورة سيتم تنفيذه المشاركة القادمة


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 31-08-2006, 04:55 PM   رقم المشاركة : [78 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post curve fitting

Curve Fitting
سنقوم الآن بأخذ المثال التطبقي الثالث والأخير وهو Curve Fitting حيث أن هذه العملية هامة جداً في إيجاد علاقة مكافأة لأي نظام, فمثلاً عند إدخال مجموعة من المدخلات inputs سنلاحظ أن الخرج outputs تأخذ مجموعة من النقاط المتشتتة التي لا تجمعها علاقة محددة, أما عند إستخدام curve fitting سنلاحظ تكون علاقة تقريبية لتوصيف النظام.
وهذه صورة لمجموعة من النقاط الخارجة من النظام لا تجمعها أي علاقة

ولكن سنقوم بشرح أمرين وهما ones و zeros واللذان لهما القدرة التالية
ones يستطيع أن يكون مصفوفة أو متجه جميع عناصره 1
zeros يستطيع أن يكّون مصفوفة أو متجه جميع عناصره صفر
لاحظ الصورة التالية في طريقة كتابة كلا الأمرين

وستلاحظ ظهور النتائج بالشكل التالي

أما الآن سنتكلم عن أنواع Curve Fitting
هنالك أنواع عديدة منها
1- linear
2- Quadratic
3- Sinusoidal
4- exponential
وسنتناول النوع الأول والرابع, أما الآن سنتناول النوع الأول
Linear Curve Fitting
في هذا النظام يتم إيجاد خط مستقيم بحيث تكون المسافة العمودية بين كل نقطة والخط المستقيم أقل ما يمكن, يمكن مشاهدة الصورة التالية

فكما هو واضح في المثال كل قيمة في محور السينات لها قيمة مناظرة في محور الصادات
وحيث اننا نستخدم طريقة Linear Curve Fitting فإن لكل نقطة على محور الصادات علاقة خطية مع نقطة محددة على محور السينات, وهذه العلاقة تكتب في الصورة التالية

فإذا عدنا بالذاكرة للخلف عند حل المعادلات سنجد اننا كنا نقوم بكتابة المعادلات بالشكل التالي

ويمكنا كما تعلمنا كتابة تلك المعادلة في الصورة التالية

وبالرجوع إلى المعادلة الخاصة بــ Linear Curve Fitting نستطيع كتابتها في الصورة التالية

وبهذا نكون قد حصلنا على قيمة كلاً من K & T والتي نستطيع أن نقوم بتعريف مجموعة قيم للمتغير X وبالتالي نقوم بالحصول على قيمة Y ومنها نقوم برسم العلاقة بين X & Y والتي تمثل خطاً تبعاً للمعادلة التالية

والآن سنقوم بالبدء بكتابة البرنامج في الماتلاب خطوة خطوة
سنقوم الآن بتعريف الماتلاب بمجموعة القيم للمتغير X والعلاقة للنظام التي تعطينا قيمة Y

والآن لنفترض أن لدينا أكثر من قيمة X وبالتالي سنحصل على أكثر من قيمة Y
وحيث أن العلاقة بين X & Y خطية كما ذكرنا مسبقاً فإننا بالتالي سيكون لدينا أكثر من معادلة يمكن كتابتها في الصورة التالية

والتي يمكن وضعها في الشكل التالي

وسنقوم في الماتلاب بتحويل متجه الصف Row Vector إلى متجه عمودي Column Vector ثم إضافة متجة عمودي جميع قيمه واحد بإستخدام الأمر ones كما تعلمنا مسبقاً

والآن قد يظن البعض أنه حتى نحصل على قيم K & T يجب أن تكون صورة الحل كالآتي

ولكن هذا صحيح إذا كانت قيمة A مصفوفة مربعة , فهل هي كذلك الآن ؟ بالطبع لا, فما العمل
إذا كانت المصفوفة ليست مربعة يتم وضع علامة القسمة مقلوبة ( \ ) ولا يتم إستخدام الأمر inv أي أن صورة الحل الصحيح تكون

وبالتالي يكون الحل في الماتلاب كالآتي

وبالتالي فإن المعادلة الناتجة والتي من خلالها سنرسم خطاً بحيث تكون المسافة العمودية بينه وبين النقاط أقل ما يمكن, تكون في الصورة التالية

والآن سنقوم بتعريف الماتلاب عدة نقاط بحيث نرسم ذلك الخط

وبالتالي نحصل على الرسم بالشكل التالي

وننتقل إلى التطبيق الذي يليه وهو
Exponential Curve Fitting


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 31-08-2006, 05:26 PM   رقم المشاركة : [79 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Post Exponential Curve Fitting

Exponential Curve Fitting
سنأخذ الآن التطبيق الأخير في هذه الدورة وهو Exponential Curve Fitting , ويمكن كتابة العلاقة بين X & Y بالشكل التالي

وإذا وجدت أكثر من نقطة, فهذا يعني وجود أكثر من معادلة والتي تكتب في الصورة التالية

والتي يمكن كتابتها في صورة المصفوفة

والآن سنقوم بوضع البرنامج على الماتلاب

وبالتالي سيظهر الناتج كالتالي

هذا ونكون قد أنهينا دورة الماتلاب بفضل الله


التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
قديم 31-08-2006, 05:34 PM   رقم المشاركة : [80 (permalink)]
مــــشـــــــرف
الصورة الرمزية م.أحمد عفيفي سلامة
 

م.أحمد عفيفي سلامة يستحق التميز
Lightbulb الخاتمة

الحمد لله رب العالمين والصلاة والسلام على خير المرسلين
أحمد الله أولاً وأخيراً على توفيقه لي في الإنتهاء من دورة الماتلاب خطوة بخطوة
كما أسأل الله أن تكون اداة نافعة للجميع بإذن الله
كما أود أن أشكر كل من ساندوني وشجعوني لإتمام هذه الدورة
وبهذا أستودعكم الله الذي لا تضيع ودائعه ونلقاكم بإذن الله في دورة جديدة
والسلام عليكم ورحمة الله وبركاته
أخوكم
م. أحمد عفيفي


التعديل الأخير تم بواسطة م.أحمد عفيفي سلامة ; 06-11-2008 الساعة 02:28 PM.
التوقيع:
م.أحمد عفيفي سلامة غير موجود حالياً  
موضوع مغلق

الكلمات الدلالية (Tags)
الماتلاب, بخطوة, تعمل, خطوة

أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع


الساعة الآن 04:43 PM.


Powered by vBulletin® / BoxLink.NET
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd
جميع المواضيع المطروحة لا تمثل رأي إدارة الملتقى ، بل تعبر عن رأي كاتبيها .

Content Relevant URLs by vBSEO 3.3.1