شبكات الرسم وتسميات المحاور وإضافة مفتاح الرسم البياني في برنامج MATLAB
شبكات الرسم وتسميات المحاور وإضافة مفتاح الرسم البياني :
عملية وضع شبكة علي الرسم :
يقوم برنامج MATLAB بوضع شبكة من الخطوط الأفقية والرأسية المتقاطعة علي الرسم باستخدام الأمر grid on ( أو grid فقط ) بعد أمر الرسم plot بحيث يكون من السهل تحديد القيم علي الرسم لأن الوضع الإفتراضي لبرنامج MATLAB عند فتح نوافذ الرسومات ثنائية الأبعاد 2-D هو عدم إظهار هذه الشبكة لذا فيمكنك إظهار الشبكة علي الرسم من خلال تحرير الأمر grid on ( أو grid فقط ) بعد أمر الرسم plot كما يمكنك إلغاء تفعيل إظهارها بإستخدام الأمر grid off .
إضافة عنوان في أعلي منطقة الرسم :
يمكننا برنامج MATLAB من إضافة عنوان (تسمية) أعلي منطقة الرسم بإستخدام الأمر title بحيث يعبر هذا العنوان عن محتويات الشكل المرسوم حيث يكون هذا الأمر علي الصورة التالية : title ('text')
وتستخدم هذه الصورة لوضع المتغير الحرفي text أعلي منطقة الرسم وفي منتصف محاور الرسم الحالية .
title('text,'property1',property1value,'property2', property2value,..)
تستخدم هذه الصورة لوضع المتغير الحرفي text أعلي منطقة وبالخصائص التي يحددها المستخدم مثل حجم العنوان المكتوب ولونه ولون خلفيته وموضعه .
فعلي سبيل المثال لإضافة العنوان Figure أعلي منطقة الرسم مع كتابة هذا العنوان بخط حجمه 14 ولونه أحمر وخلفيتة لونية صفراء قم بتحرير الأمر التالي :
>> title ('Figure','fontsize',14, …
'color','r', …
'BackgroundColor','y')
مع ملاحظة أن الثلاثة نقاط المتتالية ...)) تمكننا من متابعة تنفيذ هذه الأمر المحرر علي أكثر من سطر .
تسمية المحاور :
يمكننا برنامج MATLAB من تسمية المحاور الثلاثة x,y,z من خلال الأوامر xlabel , ylabel ,zlabel والتي تمكننا من وضع تعليق علي كل محور من المحاور الثلاثة x,y,z فمثلا إذا أردنا أن نقوم بتسمية محور السينات X-Axis نقوم بإستخدام الأمر xlabel وإذا أردنا أن نقوم بتسمية محور الصادات Y-Axis نقوم بإستخدام الأمر ylabel وإذا أردنا تسمية المحور الثالث Z-Axis ( في حالة الرسم ثلاثي الأبعاد ) نقوم بإستخدام الأمر zlabel حيث يأخذ الثلاث صورة واحدة وهي كالتالي :
axislabel ('string')
حيث أننا نضع مكان كلمة axis اسم المحور ( x او y أو z ) ونضع مكان المتغير الحرفي string التعليق أو عنوان المحور الذي نريده .
إضافة مفتاح الرسم البياني legend :
يستخدم الأمر legend في وضع أدلة في صندوق مفتاح الرسم البياني legend لتبين اسم كل منحني علي الرسم واللون المخصص له مما يساعد علي التميز بين المنحنيات المختلفة في نافذة الرسم مع مراعاة استخدام الأمر legend بعد كل امر رسم plot وليس العكس ويأخذ هذه الأمر الصور التالية في كتابته :
legend ('color_ref1')
legend ('color_ref1','color_ref2')
وكما تلاحظ أن الأمر legend علي عدد العلاقات المرسومة داخل الرسم هذا ويمكنك البرنامج من تحريك مفتاح الرسم البياني بالضغط المستمر بزر الماوس الأيسر علي مفتاح الرسم البياني مع السحب إلي المكان الذي تريده في نافذه الرسم .
عملية وضع الرسوم البيانية في نوافذ منفصلة :
يمكننا برنامج MATLAB من وضع عدد من الرسومات في عدة نوافذ رسم منفصلة بدلا من وضع الرسومات في نفس النافذة فلإنشاء نوافذ رسم figures جديدة يمكنك استخدام إحدي الطرق التالية :
الطريقة الأولي :- قم بتحرير الأمر figure في نافذة محرر الأوامر Command window قبل كل امر رسم plot كما يلي :
>> figure
الطريقة الثانية :- اختر New figure من قائمة file في نافذة محرر الأوامر command window او في نافذة الرسم figure .
لتلاحظ انه بإستخدام أي من الطرق السابقة ان البرنامج يقوم بفتح نافذة رسم جديدة رمادية اللون كما في الشكل التالي :
علما أنه بعد كل امر figure يمكننا وضع الخصائص التي تختص بهذه الرسمة مثل أمر title , ylabel , xlabel , grid وغيرها من الأوامر التي سبق شرحها .
ويمكننا توضيح مجموعة الخصائص السابقة من خلال تحرير الكود التالي في ملف جديد من نوع M_File :
1- clc;clear;close all;
2- x=0:0.1:10; %Independent Variable
3- y=sin (x) ; %dependent Variable
4- z=cos (x) ; %dependent Variable
5- plot (x,y,x,z, 'r', …
6 'Linewidth',3) ; %plot y,z vs.
7- xlabel ('X-axis');%X-axis label
8- ylabel ('Y-axis');%Y-axis label
9- legend ('sin(x) ','cos(x) ' );
10 % titling the resultant plot
11- title (sine and cosine curves', …
12 'fontsize ',12,…
13 'color','b', …
14 'fontweight','bold', …
15 'Backgroundcolor','y');
شرح الكود البرمجي :
لا جديد في الكود البرمجي السابق بإستثناء استخدام بعض الخصائص التي تخص الرسم ثنائي الأبعاد مثل امر title , legend , ylabel , xlabel كما يلي :
- في السطر السابع قمنا بتسمية محور السينات x-axis بإستخدام الأمر xlabel بالإسم x-Axis .
- في السطر الثامن قمنا بتسمية محور الصادات Y-Axis بإستخدام الأمر ylabel بالإسم Y-axis .
- في السطر التاسع قمنا بوضع أدلة في صندوق مفتاح الرسم البياني legend لتبين اسم كل منحني علي الرسم واللون المخصص له بإستخدام الأمر legend .
- في السطر الحادي عشر نقوم بإضافة عنوان أعلي منطقة الرسم بإستخدام الأمر titke حيث يتم كتابته بخط سميك Bold وبحجم points12 وبلون أحمر ولون خلفية صفراء .
تشغيل الكود البرمجي :
احفظ البرنامج باسم 'sine_cosine_waves2' ثم اختر امر run من قائمة Debug أو للتشغيل السريع اضغط علي مفتاح f5 من لوحة المفاتيح .
ليقوم برنامج MATLAB بفتح نافذة رسم جديدة وفيها يتم رسم منحنين أحدهما خاص بدالة Sine ويتم رسمه باللون الأزرق والأخر خاص بدالة Cosine ويتم رسمه باللون الأحمر كما يتم إضافة كافة الخصائص التي شرحناها في الكود البرمجي السابق كما يلي :
عملية رسم رسوم بيانية متعددة في نافذة رسم واحدة :
يستخدم الأمر hold on قبل كل امر رسم plot لرسم عدة منحنيات في نافذة رسم واحدة كما يمكننا الأمر hold off من إيقاف تفعيل الأمر hold on ولنقوم الأن بإعادة تحرير الكود السابق بإستخدام الأمر hold on كما يلي :
1- clc;clear;close all;
2- x=0:0.1:10; %Independent Variable
3- y=sin (x) ; %dependent Variable
4- z=cos (x) ; %dependent Variable
5- plot (x,y,'b','linewidth',2); %plot y vs. x
6 hold on;
7- plot (x,y,'r','linewidth',2); %plot z vs. x
8- hold off;
9- grid on;
10 xlabel ('X-axis'),ylabel ('Y-axis;);
11- legend ( 'sin (x) ','cos(x) ')
12 title ( 'plot of sine&cosine waves,no box', …
13 'fontzize ',12, …
14 'Color' , 'b', …
15 'fontweight','bold');
لنلاحظ أن البرنامج قام في البداية برسم المنحني الناتج عن معادلة sin(x) عند قيمة كل عنصر من عناصر المتجه x باللون الأزرق ثم احتفظ بنفس محاور الرسم ولم يقوم بإزالتها ثم قام بإضافة رسم المنحني الناتج عن معاة دالة cos(x) (في نفس نافذة الرسم ) باللون الأحمر بإستخدام الأمر hold on .
إنشاء رسومات جزئية منفصلة في نافذة رسم واحدة :
عرفنا أننا يمكننا أن نقوم برسم أكثر من رسمة في نفس نافذة الرسم أو في نوافذ رسم منفصلة ولكن هل تتخيل أن تقوم بوضع عدة رسومات منفصلة في نافذة واحدة في الحقيقية يمكننا عمل ذلك بإستخدام الأمر subplot(m,n,p) قبل كل امر plot .
حيث يعمل الأمر subplot(m,n,p)علي تقسيم نافذة الرسم figure الحالية إلي عدة نوافذ فرعية Sub figures ( وتكون كل نافذة فرعية عبارة عن منطقة مستطيلة الشكل لها نظام محاور خاص بها ) مرتبة في مصفوفة أبعادها (m x n) ويختار المستخدم المنطقة p لتفعيلها ويجب عند استخدام الأمر subplot معرفة عدد الرسومات التي ستظهرها وكيفية وضعها ويستخدم الأمر subplot علي الصورة التالية :
subplot (m,n,p)
حيث ان :
m : يمثل عدد نوافذ الرسم الفرعية الموجودة في كل عمود .
n : يمثل عدد نوافذ الرسم الفرعية الموجودة في كل صف .
p: يمثل الدليل الذي يستخدم في تنشيط النافذة التي نريد رسم شكل معين بها , مع ضرورة ملاحظة أنه يتم ترقيم كلأ منطقة رسم فرعية من أقصي يسار نافذة الرسم figure إلي أدني اليمين .
فعلي سبيل المثال عند الرغبة في التمثيل البياني لمعدلتين بحيث يتم رسم كل معادلة من المعادلتين في نافذة رسم فرعية منفصلة وإذا افترضنا اننا نريد وضع الرسمتان بجوار بعضهما كما في الشكل التالي :
وبالتالي سيتم تقسيم نافذة الرسم Figure الحالية إلي نافذتين فرعيتين subfigures لتبدو وكأنها متجه صفي عدد صفوفه 1 وعدد أعمدته 2 بحيث يتم رسم المعادلة الأولي في النافذة الفرعية الأولي ورسم المعادلة الثانية في النافذة الفرعية الثانية, وهذا ما يجب تحديده بالتفصيل عند إستخدام الأمر subplot.
حيث نستخدم الصورة العامة لأمر subplot علي الشكل التالي :
ولتحديد نافذة الرسم الفرعية الأولي (الموجودة في الصف الأول والعمود الأول) إستعدادا لرسم المعادلة الأولي , نقوم بتحرير الأمر التالي :
subplot (1,2,1)
ولتحديد نافذة الرسم الفرعية الثانية (الموجودة في الصف الأول والعمود الثاني ) إستعدادا لرسم المعادلة الثانية , نقوم بتحرير الأمر التالي :
subplot(1,2,2)
وبالمثل إذا كان لدينا ثلاث معادلات نريد رسمها في ثلاث رسومات جزئية منفصلة في نافذة رسم واحدة, فيمكننا تقسيم نافذة الرسم figure الحالية إلي ثلاث نوافذ فرعية subfigure بحيث يتم تقسيم نافذة الرسم الحالية إلي متجه صفي ذي ثلاثة أعمدة لتصبح كما في الشكل التالي :
ولتحديد نافذة الرسم الفرعية الأولي (الموجودة في الصف الأول والعمود الأول ) إستعدادا لرسم المعادلة الأولي , نقوم بتحرير الأمر التالي :
subplot(1,3,1)
ولتحديد نافذة الرسم الفرعية الثانية (الموجودة في الصف الأول والعمود الثاني ) إستعدادا لرسم المعادلة الثانية , نقوم بتحرير الأمر التالي :
subplot (1,3,2)
ولتحديد نافذة الرسم الفرعية الثالثة (الموجودة في الصف الأول والعمود الثالث ) إستعدادا لرسم المعادلة الثالثة , نقوم بتحرير الأمر التالي :
subplot(1,3,3)
وبالمثل يمكننا تقسيم نافذة الرسم figure الحالية إلي ثلاث نوافذ فرعية subfigure بحيث يتم تقسيم نافذة الرسم الحالية إلي متجه عمودي ذي ثلاثة صفوف لتصبح كما في الشكل التالي :
الآن تستطيع أن تقسم أي نافذة رسم إلي أي عدد من النوافذ الفرعية المنفصلة وبأي شكل ممكن ولمزيد من الإيضاح , تابع المثال التالي :
مثال :
نريد تصميم برنامج لرسم أربع معادلات في أربع نوافذ فرعية subfigures منفصلة بحيث يتم تقسيم نافذة الرسم figure الحالية وكأنها مصفوفة تتكون من صفين وعمودين.
خطوات تصميم البرنامج :
* قم بفتح ملف M-file جديد من خلال فتح قائمة file ثم اختيار m-file من قائمة new , ثم قم بتحرير الكود , كما في الشكل التالي :
1- clc;clear;close all;
2- x=linspace (0,2*pi,100); %Indep variable
3- a=sin (X) ; % dep variable
4- b=2*sin (X) . *cos (X) ; % dep variable
5- c=sin (X) .*exp (-0.5*x); % dep variable
6- d=sin (X) .\ (cos (X)+eps); % dep variable
7- subplot (2,2,1) ;
8- plot (x,a, b);grid; % plot a vs. x
9- title (plot of sin (X));
10- hold on ;plot (x,b,k) ;
11- subplot (2,2,2);
12- plot (x,b,k) ;zoom on ; %plot b vs. x
13- title (plot of 2sin (x) cos (x));
14- subplot (2,2,3);
15- plot (x,c,k);box off % plot c vs .x
16- title (plot of sin (x)e {-0.5x });
17- subplot (2,2,4);
18- plot (x,d,k) ;grid %plot d vs. x
19- title (plot of sin (x) \ cos (x) +\epsilon);
شرح الكود البرمجي :
لا جديد في الكود البرمجي السابق بإستثناء استخدام أمر subplot قبل كل أمر رسم plot لتحديد نافذة الرسم الفرعية المراد رسم المعادلة المطلوبة بها.
تشغيل البرنامج :
* احفظ البرنامج باسم sub-figures ثم اختر أمر run من قائمة debug أو للتشغيل السريع اضغط علي مفتاح f5 من لوحة المفاتيح.
ليقوم برنامج MATLAB بفتح نافذة رسم جديدة مقسمة إلي أربعة نوافذ فرعية subfigures بحيث يتم رسم كل معادلة من الأربع معادلات السابقة في نافذة فرعية منفصلة عن باقي النوافذ الفرعية الأخري مع ملاحظة أنه يتم ترقيم كل منطقة رسم فرعية من أقصي يسار نافذة الرسم figure إلي أدني اليمين , كما في الشكل التالي :
ملحوظة : لا حظ أنه عند تفعيل منطقة رسم جزئية معينة من نافذة الرسم figure فإنها وحدها هي التي تستجيب للأوامر ylabel,xlabel,axis,box,grid,hold on, title دون أن تتأثر الرسومات الجزئية الأخري إلي أن يتم استخدام أحد الأمرين figure أو subplot.
وفي النهاية نكون قد عرضنا وقدمنا عرضا للبرامج التطبيقية الأكثر إستخداما ومبيعا حول العالم فكما رأينا أن البرنامج يقدم حلولا رياضية متكاملة في كافة التطبيقات الهندسية , فقد سيطر في الأونة الأخيرة علي ساحة البرامج التطبيقية علي مستوي العالم كله, نظرا لما يتمتع به من سهولة وقدرة عالية علي إجراء العمليات الرياضية البسيطة والمعقدة علي حد سواء بسرعة فائقة بالإضافة إلي الإمكانيات الهائلة التي يقدمها هذا البرنامج والتي تدخل في العديد من الفروع العلمية في مختلف التطبيقات وبخاصة التطبيقات الهندسية كمعالجة الإشارة الرقمية digital signal processing (dsp) (المتعلقة بمجالا الإتصالات) ومعالجة الصور image processing ونمذجة البيانلت data acquisition modeling ومحاكاتها simulation وتحليلها وعرضها data analysis and visualization وبرمجة التطبيقات (كأي لغة برمجة أخري) والتمثيل البياني للأشكال ثنائية وثلاثية الأبعاد وإنشاء بيئة تفاعلية بين البرنامج والمستخدم من خلال بناء واجهة المستخدم الرسومية graphical user interface (GUI) لعرض وإظهار النتائج بشكل شيق وجذاب وغيرها من التطبيقات الأخري التي يتضمنها برنامج MATLAB والتي جعلته يحتل قمة برامج التطبيقات الهندسية , لذا فتستخدمه العديد من الشركات في الأغراض الصناعية (كشركات الطيران المدني والعسكري وشركات صناعة السيارات حيث تستخدم الشركات المصنعة نظامي المحاكاة simulation والنمذجة modeling لبرنامج MATLAB لخلق أو تطوير النماذج الهندسية قبل تطبيقها علي أرض الواقع وبعد إختبارهذه النماذج بواسطة MATLAB يتم إنتاجها صناعيا مما يساهم في رفع جودة المنتجات الصناعية)كما يستخدم برنامج MATLAB في الغالبية العظمي من جامعات العالم في الأغراض الأكاديمية وخصوصا أغراض البحث العلمي).
تعليقات
إرسال تعليق