CiViL Engineering
اسرة ادارة منتدى CiViL Engineering ترحب بجميع الاعضاء والزوار
نتمنى ان نرى ابدعاتكم المتواصله
مع تحيات ادارة المنتدى
م/ أحمد الشافعى



 
الرئيسيةاليوميةمكتبة الصوربحـثالأعضاءالمجموعاتالتسجيلدخول




تنبيه هام :
الى جميع أعضاء المنتدى رجاء الانتباه نوجه عناية الجميع الى انه يوجد فى اسفل المنتدى " علبة الدردشة " التى تساعد على تواصل الاعضاء مع بعضهم البعض مباشرة

بشرى سارة :
حصريا على منتدى civil Engineering شرح مواد لطلبة الفرقة الاعدادية على هذا الرابط http://civileng.formyjob.net/montada-f7/topic-t58.htm#92

لحظة من فضلك : بعد تسجيلك عزيزى الزائر واشتراكك معنا فى المنتدى ستصلك رسالة تفعيل للاشتراك على الايميل الخاص بك يجب أولا فتحها وتفعيل الاشتراك مع خالص تحياتى

شاطر | 
 

 الرسم ثنائي الأبعاد 2D Plotting في الماتلاب

اذهب الى الأسفل 
كاتب الموضوعرسالة
Eng.shahy
عضو مؤثر
عضو مؤثر
avatar

عدد المساهمات : 178
عدد النقاط : 319
السٌّمعَة : 4
تاريخ التسجيل : 10/03/2011
العمر : 26
الموقع : 10th of ramdan city

مُساهمةموضوع: الرسم ثنائي الأبعاد 2D Plotting في الماتلاب   السبت 25 يونيو 2011, 12:11 am

الرسم ثنائي الأبعاد 2D Plotting


المقصود بالرسم ثنائي الأبعاد هو ان تكون العلاقة التي تحكم عملية الرسم تكون بين متغيرين فقط أحدهما يسمى independent والآخر يسمى dependent
فما المقصود بـــ independent Variable أي المتغير المستقل أي أن قيمه لا تحكمها علاقة
بينما dependent Variable أي المتغير المُعتمد حيث يعتمد قيمه على قيم المتغير المستقل
الآن وبعد شرح هذين العنصرين الهامين, سنقوم بشرح الأمر plot حيث يأخذ الصورة التالية:




وهذا مثال بسيط لكيفية رسم sine Wave





وتلاحظ أننا قد إخترنا 10 نقاط فقط لرسم Sine Wave , وهذا عدد قليل لرسم Sine Wave وتلاحظ ظهور الرسمة بالشكل التالي





وحلاً لهذه المشكلة, لابد من زيادة عدد النقاط داخل المتجه, كما في الشكل التالي





وستلاحظ أن الرسمة قد تحسنت كثيراً






إضافة خصائص إلى الرسومات داخل الماتلاب


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



فكيف يتم وضع تلك الخصائص داخل الماتلاب, تكون هذه الخصائص متضمنة في الأمر plot حيث تأخذ الصورة التالية



إعتماداً على المثال السابق أخذه سنقوم بتعديل بعض الخصائص
سنقوم مثلاً بتغيير لون الخط إلى الأحمر



وبالتالي نحصل على الصورة التالية:



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



وبالتالي نحصل على الشكل التالي:



وإذا أردنا أن نحصل على نجوم حمراء ( أي دمج الخاصيتين معاً)



وبالتالي نحصل على الشكل التالي:





عملية وضع شبكة على الرسم


يقوم الماتلاب بوضع شبكة على الرسم, بحيث يكون من السهل تحديد القيم من على الرسم
حيث تأخذ الأمر grid بعد الأمر plot



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



الآن سنقوم بعمل معادلة أخر بالإضافة إلى المعادلة المذكورة بحيث يكون لدينا رسمتان, بحيث تأخذ الشكل التالي



ولكن عند تشغيل البرنامج, سيقوم الماتلاب بإظهار الرسمة الأخيرة فقط,
فكيف يتم إظهار الرسمتين, يتم ذلك بإستخدام الأمر Hold on قبل الأمر plot
لكي يتم وضع الرسمتين في نافذة واحدة, وفي نهاية الأمر يتم وضع الأمر hold
off, أنظر الصورة التالية



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





علمية وضع الرسومات في نوافذ منفصلة


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



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



وستحصل على نافذيتين بهما كلتا الرسمتين
ملف:MATLAB212.gif






والآن قم بتشغيل البرنامج مرة أخرى, ستلاحظ أن عدد النوافذ قد زاد نافذة
واحدة, فكيف حدث هذا؟
يقوم الماتلاب برسم أول دالة على النافذة الأخيرة التي تم رسم الدالة
الثانية بها, ثم يقوم برسم الدالة الثانية في نافذة جديدة بسبب وجود الأمر
figure ولحل هذه المشكلة قم بإستخدام الأمر close all بعد الأمر clear بحيث
يتم إغلاق أي نوافذ كانت مفتوحة قبل ذلك عند تشغيل البرنامج كل مرة
وبالتالي سيكون هنالك ثلاثة أوامر لابد من إستخدامها في كل مرة يتم عمل أي
برنامج وهم


clc
clear

منقول


close all

وهذا هو المثال الذي تم عمله منذ قليل بعد التعديل





إنشاء رسومات منفصلة في نافذة واحدة


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



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



وبالتالي الرسمتان سيكون وكأنهما متجه عدد صفوفها 1 وعدد الأعمدة 2 ,
والرسمة الأولى تأخذ الخانة الأولى , والرسمة الثانية ستأخذ الخانة الثانية
هذا ما يجب تحديده بالتفصيل عند إستخدام الأمر subplot
ثم نستخدم الصورة العامة لأمر subplot والتي تكون كالتالي



ولرسم الشكل الأول لابد من كتابة الأمر في الصورة التالية



ولرسم الشكل الثاني لابد من كتابة الأمر في الصورة التالية



والأن سنقوم بوضع البرنامج كاملاً ليكون المعنى قد وضح تماماً



وستكون الرسمة النهائية كما في الشكل التالي



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



فإن عدد الصفوف 3 وعدد الأعمدة 3 وأرقام الخانات التي تشغلها الرسمة
الأولى 1 و2 و3 و4 و5 و6 على التوالي, وأرقام الخانات التي تشغل الرسمة
الثانية 7 وأرقام الخانات التي تشغل الرسمة الثالثة هي 9
والبرنامج يكون بالشكل التالي



وستكون النتيجة كالتالي





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


سنقوم الآن بتنفيذ الجزء قبل الأخير من الدورة وهو تمية المحاور, فمثلاً
إذا أردنا أن نقوم بتسمية محور السينات X-Axis نقوم بإستخدام الأمر xlabel
وإذا أردنا أن نقوم بتسمية محور الصادات نقوم بإستخدام الأمر ylabel حيث
يأخذ كلا الأمرين صورة واحدة وهي كالتالي



نفس الشئ يتم تطبيقه على محور الصادات ylabel
ولنقوم الآن بعمل مثال تطبيقي



وبالتالي نحصل على الصورة التالية





وضع عنوان في أعلى الرسمة


يمكن وضع عنوان أعلى كل رسمة وذلك من خلال الأمر title
حيث يكون هذا الأمر بالشكل التالي



وبالرجوع إلى المثال السابق ووضع التعديلات عليه كما هو موضح



وبالتالي نحصل على الصورة التالية





وضع نص على نقطة أو أكثر داخل الرسم


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



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



وعند تشغيل البرنامج, نجد القيم كالتالي



وبالتالي إذا أردنا الحصول على قيمة X عند القيمة العظمى للـــ Y, سنقوم بعمل التالي



وكما تلاحظ فإن قيمة X والتي تعطي القيمة العظمى Y تظهر في workspace, أنظر الصورة التالية



والآن سنقوم بتطبيق المثال ووضع كلمة النقظة العظمى عليها



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






الأمر legend


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




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



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



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



ويجب مراعاة أن يتم إستخدام الأمر legend بعد الأمر plot وليس العكس
فتح نافذة جديدة وتحديد دقتها
يعطي الماتلاب القدرة على فتح نافذة جديدة وتحديد القيم العظمى والصغرى
لمحور السينات وكذلك بالنسبة لمحور الصادات, وذلك بإستخدام الأمر axis,
والذي يأخذ الصورة التالية في كتابته





مثال تطبيقي


قم بفتح نافذة للرسم بحيث تكون بالمواصفات التالية
1- أقل قيمة لمحور السينات هي 10-
2- أكبر قيمة لمحور السينات هي 10
3- أقل قيمة لمحور الصادات 10-
4- أكبر قيمة لمحور الصادات 10
خطوات الحل
في نافذة الأوامر قم بإدخال التالي



وستظهر لك النافذة التالية





كيفية إدخال النقاط من خلال الماوس


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



أما إذا أردنا إدخال عدد لا نهائي من النقاط يمكن ذلك بعدم ذكر عدد نقاط الإدخال, كما في الشكل التالي



وبعد الإنهاء من إدخال النقاط كل ما عليك هو الضغط على مفتاح Enter في
لوحة المفاتيح.
مثال تطبيقي
سنقوم بفتح نافذة للرسم بها شبكة, وأقل قيمة لمحور السينات هي صفر وأكبر
قيمة لمحور السينات هي 10 وكذلك بالنسبة لمحور الصادات, ثم إدخال عدد كبير
من النقاط على الرسم بإستخدام الأمر ginput, وهذه النقاط يتم طباعتها على
شكل دوائر حمراء.
ويتم كتابة الأوامر بالشكل التالي



وستظهر لك نافذة لإدخال النقاط , وبعد إتمام عملية الإدخال إضغط على Enter لإتمام الإدخال وستظهر لك النافذة التالية







الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الرسم ثنائي الأبعاد 2D Plotting في الماتلاب
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
CiViL Engineering  :: الاقسام الدراسيه :: الفرقه الاعدادية ( قسم خاص )-
انتقل الى: