الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الرسوم البيانية في ال Matlab

رائج
بدأه بن العيد في 8 سبتمبر 2007 · 3 رد · 22,396 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سنواصل في هذا الدرس على ما قمت بتقديمه في الدروس السابقة و سأقدم فيه كيفية الرسم البياني

الكود التالي يبرز كيفية رسم الدالةsin عندما تكون مدخلاتها متراوحة بين πوπ-ومتباعدة ب0.1 وكلما كانت الخطوة بين الأحداثيات المتتالية أصغر كلما كان الرسم أكثر وضوحا وتواصل. إذا إستعملنا على سبيل المثال خطوة تساوي 1 أو 2 سنلاحظ أن الرسم سيصبح عبارة عن خط متكسر يربط بين بضع نقاط.

function PlotGraphs()
				   x=-pi:.1:pi;
				   y=sin(x);
				   plot(x,y);

pi: يرمز إلى الثابت المستعمل بكثرة في الرياضيات و يعادل في الMatlab

   >> pi

			  ans =

				  3.1416

post-91400-1189255856_thumb.jpg

الصورة رقم 1: رسم الدالة sin

إنطلاقا من الرسم ذا بعدين يمكننا رأيت الثلاثي الأبعاد وذلك عبر إختيار الإختيارRotate 3D المشار إليه في الصورة رقم 2. هذه العملية تكون ذات أكثر أهمية عند الرسم الثلاثي الأبعاد

post-91400-1189256017_thumb.jpg

الصورة رقم 2: الرسم الثلاثي الأبعاد للدالة sin

يوفر ال Matlabعدة إختيارات إضافية لتمييز الرسوم عن بعضها, سوى عبر تغير نوعية الخط, اللون أو إضافة رموز. هذه قائمة بمجموعة الإختيارات التي يمكن إستعمالها:

post-91400-1191435272_thumb.jpg

التعاليق

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')

post-91400-1189255976_thumb.jpg

الصورة رقم 3: رسم الدالة sin بإختيارات إضافية

يوفر ال Matlabمجموعة من الرموز للأحرف الإغريقية التي نستعملها عادة في المعادلات مم ييسر إدراجها داخل النصوص. في هذا المثال قمت بإدراج رمز الثابت "pi=3.14..."في عنوان الرسم عبر تقديم الرمز "\" على إسم الحرف

Data cursor الإختيار يوفر إمكانية قراءة قيمة معينة في الرسم البياني كما هو مصور في الصورة رقم 4

post-91400-1189258418_thumb.jpg

الصورة رقم 4 : قراءة قيمة في الرسم


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');
   function PlotGraphs()

Hold on: تمكن من مشاركة الواجهة الرسومية مع رسوم أخرى, أي طباعة عدة رسوم في نفس مجال الرسم. Hold offهي الدالة المقابلة لها وتوقف المشاركة وترسم كل ما يليها بكيفية مستقلة وهنا يوجد حالتان:

1. إذا ألحقت بfigure فسيتم توليد واجهة جديدة يطبع عليها الرسم الموالي.

2. إذا لم تلحق بfigure فستم فسخ محتويات النافذة السابقة وسيتم طباعة الرسم الجديد مكانها.

عند النقر مرتان متواليتان في حافة مجال الرسم تفتح نافذة أخرى لتعديل النصوص وغيرها من التعديل لتسهيل قراءة الرسم البياني كما هو مصور في الصورة التالية:

post-91400-1189261979_thumb.jpg

الصورة رقم 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

post-91400-1189262551_thumb.jpg

الصورة رقم 6: طباعة عدة رسوم في نفس الواجهة الرسومية

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

تم تعديل هذه المشاركة بواسطة Ben_Laiid في 3 أكتوبر 2007 في 21:15

1
#2

ماشاء الله جزاك الله خير

#3

السلام عليكم 

مشكورين علي مجهودكم ..........لو سمحتو ممكن تساعدوني انا نبي نرسم خط مستقيم بخورزمية DDA و خورزمية البرزنهام ورسم الدائره

#4

حدد ما تريده بالضبط مع شرح مفصل للخوارزميات التي تود إستعمالها

 

حتى نستطيع مساعدتك

مواضيع مشابهة