تم افتتاح مركز رفع الملفات للأعضاء من جديد ..  و نعتذر عن عدم إمكانية دمج المركز السابق مع المركز الحالي لرفع الملفات ........ ( إدارة الملتقى )

العودة   ملتقى المهندسين العرب > الملتقى الهندسي > هندسة الميكاترونكس > برنامج الـ Matlab
التسجيل التعليمـــات قائمة الأعضاء التقويم مركز رفع الملفات اجعل كافة الأقسام مقروءة
للتأكد من صحة الحديث قبل نشره اضغط هنا  -   مشاكل التسجيل و تفعيل العضوية اضغط هنا
موضوع مغلق
 
LinkBack أدوات الموضوع التقييم: تقييم الموضوع: 4 تصويتات, المعدل 5.00.
  #76 (permalink)  
قديم 26-08-2006, 04:33 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,836
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post Zero Crossing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

وبالتالي تكون الرسمة قد أصبحت صحيحة
وبهذا ينتهي التطبيق الثاني
__________________
  #77 (permalink)  
قديم 27-08-2006, 04:12 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,836
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post إيجاد المساحة تحت المنحنى

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

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

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

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

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

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

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

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

وبهذا يكون التطبيق الثالث قد تم بنجاح
التطبيق الرابع والأخير في هذه الدورة سيتم تنفيذه المشاركة القادمة
__________________
  #78 (permalink)  
قديم 31-08-2006, 04:55 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,836
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
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
__________________
  #79 (permalink)  
قديم 31-08-2006, 05:26 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,836
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Post Exponential Curve Fitting

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

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

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

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

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

هذا ونكون قد أنهينا دورة الماتلاب بفضل الله
__________________
  #80 (permalink)  
قديم 31-08-2006, 05:34 PM
مــشــرف قـسم مـيكاترونكس
 
تاريخ التسجيل: Oct 2005
المشاركات: 1,836
معدل تقييم المستوى: 0
م.أحمد عفيفي سلامة يستحق التميز
Lightbulb الخاتمة

[FRAME="12 70"]
الحمد لله رب العالمين والصلاة والسلام على خير المرسلين
أحمد الله أولاً وأخيراً على توفيقه لي في الإنتهاء من دورة الماتلاب خطوة بخطوة
كما أسأل الله أن تكون اداة نافعة للجميع بإذن الله
كما أود أن أشكر كل من ساندوني وشجعوني لإتمام هذه الدورة
وبهذا أستودعكم الله الذي لا تضيع ودائعه ونلقاكم بإذن الله في دورة جديدة
والسلام عليكم ورحمة الله وبركاته
أخوكم
أحمد عفيفي
[/FRAME]
__________________
موضوع مغلق

مواقع النشر (المفضلة)


أدوات الموضوع
تقييم هذا الموضوع
تقييم هذا الموضوع:

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

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


الساعة الآن 04:23 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd

Content Relevant URLs by vBSEO 3.1.0