السلام عليكم
سنواصل في هذا الدرس على ما قمت بتقديمه في الدروس السابقة و سأقدم فيه كيفية الرسم البياني
الكود التالي يبرز كيفية رسم الدالةsin عندما تكون مدخلاتها متراوحة بين πوπ-ومتباعدة ب0.1 وكلما كانت الخطوة بين الأحداثيات المتتالية أصغر كلما كان الرسم أكثر وضوحا وتواصل. إذا إستعملنا على سبيل المثال خطوة تساوي 1 أو 2 سنلاحظ أن الرسم سيصبح عبارة عن خط متكسر يربط بين بضع نقاط.
function PlotGraphs()
x=-pi:.1:pi;
y=sin(x);
plot(x,y);
pi: يرمز إلى الثابت المستعمل بكثرة في الرياضيات و يعادل في الMatlab
>> pi
ans =
3.1416
الصورة رقم 1: رسم الدالة sin
إنطلاقا من الرسم ذا بعدين يمكننا رأيت الثلاثي الأبعاد وذلك عبر إختيار الإختيارRotate 3D المشار إليه في الصورة رقم 2. هذه العملية تكون ذات أكثر أهمية عند الرسم الثلاثي الأبعاد
الصورة رقم 2: الرسم الثلاثي الأبعاد للدالة sin
يوفر ال Matlabعدة إختيارات إضافية لتمييز الرسوم عن بعضها, سوى عبر تغير نوعية الخط, اللون أو إضافة رموز. هذه قائمة بمجموعة الإختيارات التي يمكن إستعمالها:
التعاليق
title: إضافة عنوان للرسم.
xlabel: تسمية العمود الأفقي.
ylabel: تسمية العمود العمودي.
grid: إضافة خطوط أفقية وعمودية لتسهيل قراءة الإحداثيات.
text: لإضافة نص في مكان محدد.
gtext: لإضافة نص في مكان محدد عبر الفأرة.
legend: إضافة ركن لتميز الرسوم و تسميتها.
في المثال الموالي نعيد رسم الدالة sin مع إضافة بعض الإختيارات التي تسهل قراءة الرسم البياني وهو ما تم تجسيده في الصورة رقم 3 حيث أضفت تسمية كل عنصر من الإختيارات الإضافية التي تم إدراجه في الكود.
function PlotGraphs()
x=-pi:.1:pi;
y=sin(x);
plot(x,y);
grid
title('Variation of sin(x) for x in[-\pi, \pi]');
xlabel('[-\pi, \pi]');
ylabel('sin(x)');
legend('Graph1','Location','NorthEastOutside')
الصورة رقم 3: رسم الدالة sin بإختيارات إضافية
يوفر ال Matlabمجموعة من الرموز للأحرف الإغريقية التي نستعملها عادة في المعادلات مم ييسر إدراجها داخل النصوص. في هذا المثال قمت بإدراج رمز الثابت "pi=3.14..."في عنوان الرسم عبر تقديم الرمز "\" على إسم الحرف
Data cursor الإختيار يوفر إمكانية قراءة قيمة معينة في الرسم البياني كما هو مصور في الصورة رقم 4
الصورة رقم 4 : قراءة قيمة في الرسم
function PlotGraphs()
x=-2*pi:.1:2*pi;
y=sin(x);
x1=-2*pi:1:2*pi;
y1=sin(x1)
plot(x,y,'--');
hold on
plot(x1,y1,'-.');
grid
title('Variation of sin(x) for x in[-2\pi, 2\pi]');
xlabel('[-2\pi, 2\pi]');
ylabel('sin(x)');
legend('Graph1','Graph2','Location','NorthEastOutside');
Hold on: تمكن من مشاركة الواجهة الرسومية مع رسوم أخرى, أي طباعة عدة رسوم في نفس مجال الرسم. Hold offهي الدالة المقابلة لها وتوقف المشاركة وترسم كل ما يليها بكيفية مستقلة وهنا يوجد حالتان:
1. إذا ألحقت بfigure فسيتم توليد واجهة جديدة يطبع عليها الرسم الموالي.
2. إذا لم تلحق بfigure فستم فسخ محتويات النافذة السابقة وسيتم طباعة الرسم الجديد مكانها.
عند النقر مرتان متواليتان في حافة مجال الرسم تفتح نافذة أخرى لتعديل النصوص وغيرها من التعديل لتسهيل قراءة الرسم البياني كما هو مصور في الصورة التالية:
الصورة رقم 5: تعديل الواجهة الرسومية
figure;
subplot(2,2,1), plot(2*x,y), grid
subplot(2,2,2), plot(x,2*y), grid
subplot(2,2,3), plot(2*x1,y1), grid
subplot(2,2,4), plot(x1,2*y1), grid
الصورة رقم 6: طباعة عدة رسوم في نفس الواجهة الرسومية
عند الرغبة في الإطلاع على رسمين في نافذتين مستقلتين فلا بد من فصل تعليمة الرسم الأولى و الثانية عبر إستعمال التعليمة "figure", و ضيفة هذه التعليمة توليد واجهة رسومية جديدة يطبع عليها الرسم الثاني و عند غيابها يتم مسح الرسم الأول و يتم طباعة الرسم الثاني في نفس النافذة. طريقة أخرى في فصل الرسوم عن بعضها, ليس عبر توليد نافذة جديدة في كل مرة إنما عبر تقسيم الواجهة الرسومية لتحتضن عدة رسوم في الآن ذاته. هذه الطريقة تعتمد أساسا على الدالة subplot