متلب
صفحات وبلاگ
نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

ترسیم دوبعدی

 

  در متلب ابزار کاملی برای ترسیم نمودارهای مختلف وجود دارد.

 

این ابزار شامل نمودارهای دوبعدی و سه بعدی و انواع نمودارهای

 

فراوانی می باشد.

 

 

Plot   رسم دوبعدی

 

   یکی از ابزارهای رسم نمودار توابع دوبعدی این دستور می باشد

 

 که نحوه ترسی آن دقیقاً مانند ترسیم دستی نمودار که خـــودمان

 

انجام می دهیم بدینگونه که در بازه خاصی x را معرفی می کـــنیم

 

وy متناظر هر کدام را بدست آورده و در پایان براساس اعـــــــــــداد

 

محاسبه شده نقاط مربوطه پیدا شده و نــــقاط به هم وصـــــــــل

 

 می شود. طبیعتاً هر چقدر فاصله نقاط کمتر باشد دقت ترسیم

 

 بهتر می شود.

 

به مثال زیر توجه کنید:

 

>>x=-pi:pi/4:pi;

>>y=sin(x);

>>plot(x,y)

   

 

می بینید که نمودار با شکستگی های زیادی همراه است.

 

 حال دقت ترسیم را افزایش می دهیم:

 

                                                                                  

>>x=-pi:pi/10:pi;{enter}

>>y=sin(x);

>>plot(x,y)

 

 

 

در دستورات بالا در خط ول یک بازه به تعداد مشخص تقســیم می

 

 کنیم(xها را معرفی می کنیم) پس از آن در خط دوم مقــــدار y را

 

برای هرکدام ازxها پیدا می کنیم و در پایان در خط سوم نقاط پیاده

 

 شده و به هم وصل می شود.

 

  حال اگر بخواهیم دو نمودار cos,sin را کنار هـــــم رسم کنـــــیم،

 

کافیست در دستورplot مقدار محاسبه شده بـــرای cos را نیز قرار

 

دهیم.

 

این کار بدینگونه است، هر ترسیمی را که افزایـــش می دهیم، در

 

 دستورplot دقیقاً مانند دستور ترسیم یک نمودار پارامترها را پشت

 

 سر دستور آن می افزاییم به گونه ای که هـــــر جفت پارامتر برای

 

 کدام یک از ترسیمات پشت سرهم قرار گیرد.

 

باز اگر بخواهیم ترسیم دیگری اضافه کنیم مثــــل روش بالا اضافه

 

می کنیم.

>>x=-pi:pi/10:pi;

>>y=sin(x);

>>z=cos(x);

>>plot(x,y,z)

 

 

 

لطفاً به آخرین سطر دستورات توجه فرمایید.

 

حال اگر بخواهیم ترسیمات را با رنگ و یا... خاصی انــــجام دهیم

 

بدینگونه پیش می رویم.

 

برای معرفی رنگ در ترسیم از حروفات کلیدی استــفاده می شود

 

 که داخل کوتیشن در دسترplot نوشته می شود.

 

به مثال زیر توجه کنید:

plot(x,y,'r')

 

این دستور ترسیم را با رنگ قرمز انجام می دهد و به نوع ترسیم

 

 کاری ندارد.

plot(x,y,'^')

 

این دستور به رنگ کـــــــــاری ندارد و فقط نقاط را با مثلث نمایش

 

می دهد.

plot(x,y,':')

 

این دستور فقط ترسیم را به صورت خط چین انجام می دهد.

 

 

هرکدام از سه حرف کلیدی بالا از گروه خاصی هستند که می توان

 

آنها را باهم ترکیب نمود.

(:^x,y,'r)plot

 

در این دستور سه حرف کلیدی بالا با هم ترکیب شده است.

 

 

حرف اول رنگ (قرمز)... حرف دوم علامت(مثلث) و حرف سوم نوع

 

خط(نقطه چین) را تعیین می کند.

 

حروفات رنگ درplot                             حروفات ترسیم

b آبی                                               -  خط صاف

g سبز                                              :  نقطه چین

r قرمز                                               .-  خط نقطه

c فیروزه ای                                        --  خط چین

m بنفش                                           (خالی) بدون ترسیم خط

y زرد

k مشکی

 

حروفات نمایش نقطه

 

.       نقطه

O      دایره

X      ضربدر

+      علامت اضافه

*      ستاره

       sمربع

d      لوزی

^     مثلث(به طرف بالا)

      vمثلث(به طرف پایین)

     >مثلث(به طرف چپ)

     Pستاره پنج راسی  

     h ستاره شش راسی

 

گفتیم که می توان همه این حروفات را باهم ترکیب کرد بدینگونه که

 

('ترسیم,نقطه,رنگ') حال ترسیم بالایی را با تنظیمات جدیدانــــجام

 

می دهیم.

 

>>x=-pi:pi/10:pi;

>>y=sin(x);

>>z=cos(x);

>>plot(x,y,'b:d',x,z,'rp-.')

 

 

 

در خط آخر فرمان مربوط به ترسیم و تنظیمات را می بینیـــــم که

 

 تنظیمات مربوط به هر کدام از ترسیم بلافاصله پس از پارامتــرها

 

 می آید.

 

در خط آخر دستور مقبل را می بینیم:

 

 

>>plot(x,y,'b:d',x,z,'rp-.')

پس از تعیین پارامترها (x,y) بلافاصله تنظیمات آن آماده اســت که

 

'b:d' می باشد که رنگ آن b آبی و نوع ترسیم آن :نقطـــه چین و

 

نشان نقطه آن d لوزی است... و ترسیم دوم که پارامترهـــــای آن

 

(x,z) و تنظیمات آن با رنگ قرمزr قرمز و نوع خط .- خط نقـــــطه و

 

 نقطه p  ستاره پنج راسی است.

 

در خط آخر دستور مقبل را می بینیم:

 

>>plot(x,y,'b:d',x,z,'rp-.')

 

پس از تعیین پارامترها (x,y) بلافاصله تنظیمات آن آماده اســـــت

 

که'b:d' می باشد که رنگ آن b آبی و نوع ترسیم آن :نقطه چیـن

 

 و نشان نقطه آن d لوزی است... و ترسیم دوم که پارامترهـــای

 

آن(x,z) و تنظیمات آن با رنگ قرمزr قرمز و نوع خط .- خط نقــطه و

 

نقطه p ستاره پنج راسی است.

 

تنظیمات صفحه رسم

 

در مواردی لازم است که برای نموداری که ترسیم نموده ایم نــام

 

و توضیحات خاصی ارائه کنیم. این توضیحات ممکن اســــــــت نام

 

 ترسیم نام محورها نوشتن برروی ترسیم و... باشد.

 

چند نمونه از ترسیمات:

 

 

Xlabel    برچسب محور x  

 

این دستور محور x را نامگذاری می کند.

Xlabel('string')

 

در دستور بالا به جای string کلـــــمه و حروفات مربوطـــه گــذارده

 

 می شود.

 

 

ylabel  برچسب محور y  

 

این دستور محور y را نامگذاری می کند.

ylabel('string')

 

در دستور بالا به جای string کلمه و حروفات مربوطـــــه گـــــذارده

 

می شود.

 

Tiltle    نام ترسیم

 

این دستور ترسیم را نامگذاری می کند.

Title('string')

به جای string نام مربوطه قرار می گیرد.

 

هر نامی که می نویسیم در بالای ترسیم نشان داده می شود

 

 

Legend     معلوم کردن رسم ها

 

اگر چندین نمودار رسم کرده باشیم ممکن است نتوانیم تشخـــیص

 

دهیم که کدام ترسیم مربوط یخ کدام نمودار است... بوســــــــــیله

 

دستور legend می توانیم برحسب رنگ و نوع ترسیم نمــــودارها را

 

از هم تمیز دهیم.

Legend('string 1','string 2')

 

ترتیب نوشتن نام ها بدینگونه است که در دستور plot هرکـــــدام از

 

نمودارها ترسیم شده در اینجا نیز همانوگونه عمل می شود.

 

 

 

به مثال زیر توجه فرمایید:

 

x=-pi:pi/10:pi

y=sin(x)

                                                                                     z=cos(x)                                                                               

plot(x,y,'r>-',x,z,'bd__')

xlabel('x')

ylabel('sin&cos')

title('sin&cos functions')

legend('sin','cos')

text(0,0,'sin')

text(1.7.,0,'cos')

 

 

در دستورات بالا text استفاده شده که برای نوشتن جمـــله ای در

 

مکان خاصی (مختصات) بکار می رود.

Text(x,y,'string')

  

چند ترسیم در یک صفحه

 

گفتیم که می توان در دستور plot چندین ترسیم را یکـــجا انجـام

 

داد. ولی اگر نتوانیم بصورت یکجا ترسیم کنیم و یا نـــــخـــــواهیم

 

ترسیمات بر روی هم بیافتد چه کار کنین.

 

  در دستور plot قبل از ترسیم صفحه پـــــاک می شــود(می توان

 

گفت دستور clf اجرا می شود) ولی وقتی بخـــواهیم بــــــــر روی

 

ترسیم انجان شده یک نمودار دیگری رسم کنیم بــــــاید ترسیــــم

 

قبلی پاک نشود.

 

دستورhold این کار را انجام می دهد.

 

Hold     نگه داشتن ترسیم

 

 با استفاده از این دستور مانع پاک شدن صفحه نمایش می شویم

 

تا نمودارهای بعدی بر روی نمودار اولی بیافتد(در این نمودارها همه

 

رنگ ها و نوع خط یکسان خواهند بود زیرا به طور جداگانه ترسیم می

 

شوند و از رنگ و نوع خط اولیه استفاده می کنند.

 

این دستور به صورت روشن و خاموش استفاده می شود.

Hold on

 

Hold off

 تا زمانی که hold در حالت روشن است هیچ نموداری پــاک نخواهد

 

 شد و همه بر روی هم خواهد افتاد.

 

ولی زمانی است که نمی خواهیم نمودارها روی هم بیافتد.

 

بوسیله دستورsubplot صفحه ترسیم را به تعداد مشخص تقـسیــم

 

 می کنیم.

 

بدینگونه که صفحه ترسیم را تقسیم کرده و قسمـت موردنـــــظر را

 

معلوم کرده و نمودار مربوطه را رسم می کنــــــیم و ســــپس نام و

 

تنظیمات را انجام می دهیم.

 

Subplot    رسم چندین رسم در یک صفحه

 

بوسیله این دستور می توانیم صفحه ترسیم را به چندین قســـمت

 

تقسیم کنیم.

 

این دستور را بدین گونه استفاده می کنیم.

Subplot(m,n,p)

 

با این دستور صفحه به m سطر و n ستون تقسیم میشودوقسمت

 

pام را آدرس دهی می کند.

 

که شماره قسمت از ردیف اول از بالا شروع می شود.

 

 

 

به مثال زیر توجه کنید:

X=-pi:pi/10:pi;

Y=sin(x);z=cos(x);t=sin(x).*cos(x);

Subplot(2,2,1);plot(x,y,'r');title('sin');

Subplot(2,2,2);plot(x,y,'y');title('cos');

Subplot(2,2,3);plot(x,t');title('sin*cos');

Subplot(2,2,4);plot(x,y+z);title('sin+cos');

 

لطفاً به نحوه کاربردsubplot و نحوه تنظیم ترسیمات توجه فرمایید.

 

ترسیمات سه بعدی و سطوح

 

دیدیم که دستور plot ابزاری برای رسم نمودارهای دوبعدی اســـت

 

 ولی مواقعی که می خواهیم نمودارهای سه بعدی را رسم نماییم

 

چه کار باید بکنیم.

 

دستورplot3 این کار را انجام می دهد.

 

Plot3   رسم سه بعدی

 

این دستور تابع را در سه بعد رسم می کند.

 

به این مثال توجه فرمایید:

>>t=-3*pi:pi/30:3*pi;

>>x=sin(t);

>>y=cos(t);

>>z=t:

>>plot3(x,y,z);

 

 

می بینید که نحوه ترسیم مانند دستور plot می باشد.

 

البته می توانیم بوسیله دستورplot3، سطوح و لایه ها را ترســـیم

 

 کنیم.

 

رسم سطح و لایه

 

رسم لایه و سطح با نمودار یکسان نمی باشد، نمودار یک منحنی

 

و...می باشد(در کل یک خط) ولی سطح اینگونه نمی باشد و یــک

 

فضای پیوسته(لایه) می باشد.

 

خودمان می توانیم هر سطحی که دلمان می خواهد بسازیم ولـی

 

برای راحتی کار، یک تابع سطح، در خد متلب قرار  داده شده است

 

 که با  دستورpeaks می توان به این سطح دست یافت.

 

Peaks      سطح نمونه

 

گفتیم که یک سطح پیش فرضی در متلب قرار داده شـتده که با این

 

 دستور می توان به این سطح دست یافت.

[x,y,z]=peaks(n)

N

 دقت ترسیم را نشـــــان می دهـــــد(بازه مربوطه به عدد وارد شده

 

 تقسیم می شود و چقدر n بیشتر باشد قطعات کوچکتر و هــــمین

 

طور شکستگی نرم تر و رسم دقیقتر خواهد بود)

 

در صورتی که می خواهید یم سطح بسازید، باید فاصله همه نقــاط

 

موجود بر روی سطح یکسان و به طور مساوی پخش شده باشــد و

 

البته x y z را نیز بر حسب توابع بیان می کنیم.

 

برای ساختن سطح باید شبکه ای کامل و همگن ساخته شــــود(

 

منظور از شبکه خطوط، خطوط عمود بر هـــم است که محل تقاطع

 

مکان نقاط سطح را نشان دهد).

 

در متلب شبکه را با کمک دستور meshgrid می سازیم.

   

Meshgrid    تشکیل شبکه

 

این دستور یک شبکه بای ایجاد سطوح می سازد.

 

[x,y]=meshgrid(x)   ->=      [x,y]=meshgrid(x,x)

[x,y]=meshgrid(x,y,z)

 

اگر یک مثال کوچک برای این دستور بزنیم:

 

>>[x,y]=meshgrid(-2,2)

X=

-2  -1  0  1  2

-2  -1  0  1  2

-2  -1  0  1  2

-2  -1  0  1  2

-2  -1  0  1  2

Y=

-2 -2 -2 -2 -2

-1 -1 -1 -1 -1

0   0   0  0  0    

1   1   1  1  1

2   2   2  2  2

 

می بینید که این دستور ماتریس 2*2 می سازد و اگر بیشتر دقت کنید

 

می بینید که هر کدام از سطر y و یا ستون x می تواند معرف یــک خط

 

باشد(یک سری خط موازی عمودی و افقی) که با تعریف z می توان به

 

سطح دست یافت.

 

 

 

>>z=x.^2+y.^2

Z=

8 5 4 5 8

5 2 1 2 5

4 1 0 1 4

5 2 1 2 5

8 5 4 5 8

 

کهz را براساس مقادیرx,y  بدست می آوریم((می دانیم کهx^2 یــــک

 

تابع دوبعدی کاسه ای است وy^2 نیز همچنین وقتی این دو در جهات

 

 باهم ترکیب شوند یک کاسه سه بعدی ساخته خواهد شد)).

 

با کمک دستور mesh سطح مربوطه را رسم می کنیم.

>>mesh(x,y,z)

 

می بینید که دقت ترسیم خیلی پایین است و آن هم به این دلــیل

 

 است که تعداد تقسیمات کم بوده است.

 

 Mesh   رسم شبکه تشکیل شده

 

این دستور شبکه تشکیل شده را ترسیم می کند.

 

سطح نمایش داده شده توسط این دستور صرفاً یک شبکه است.

 

این دستور بدینگونه نوشته می شود:

Mesh(x,y,z)

 

کهx,y,z با meshgrid تعیین شده اند.

 

مثال این دستور در  ذکر شده است. که رسم دقیق آن به صورت زیر

 

است.

>>[x,y]=meshgrid(-3:0.1:3)

>>z=x.^2+y.^2

>>mesh(x,y,z)

>>colorbar

>>title('mesh plotting for z=x^{2}+y^{2}')

 

نویسنده: پ متلب - جمعه ۱۸ فروردین ،۱۳٩۱

ترسیم توابع

 

 ترسیم توابع که در متلب به easy plotting معـــــروف است فقط با

 

معرفی تابع نمودار آن را رسم می کند.

 

در اینجا به چند نمونه از دستورات اشاره می شود.

 

 

 

Ezplot رسم توابع دوبعدی

 

 

به مثال زیر توجه کنید:

 

>>ezplot('sin(x)')

 

 

 

می بینید که برای رسم احتیاجی به تعریف بازه یا متغییر نیست.

 

Ezplot3  رسم سه بعدی

 

  در این دستور باید هر سه مولفه را تعریف نمود(البته باز براساس

 

تابع) به این مثال توجه فرمایید:

 

>>ezplot3('cos(t)',sin(t)'sqrt(t)',[0.6*pi])

 

 

 

Ezmesh    رسم شبکه برای تابع

 

 این دستور یک شبکه برای یک تابع سه بعدی تعریف شده می سازد.

 

>>ezmesh('(x^2+y^2'))

>>colorbar

>>title('easy mesh plotting')

 

 

Ezsurf   ترسیم سطح برای توابع

 

 دقیقاً مانند دستورات بالا ترسیم سطح را بصورت رنگ و سایه برای

 

سطح را انجام می دهد.

 

>>ezsurf(' (x^2+y^2'))

>>colorbar

>>title('easy surf plotting')

 

 

 

نمودارهای آماری

 

Bar      نمودار میله ای

 

این دستور نمودار میله ای یک مجموعه را رسم می کند.

 

>>a=rand(1,100);

>>bar(a)

 

 

 

Hist   نمودار فراوانی

 

نمودار هیستوگرام مربوط به مجموعه را رسم می کند.

 

>>a=rand(1,100);

>>hist(a)

 

 

 

Stairs      نمودار پله ای

>>a=rand(50,1);

>>stairs(a)

 

 

نویسنده: پ متلب - چهارشنبه ۱٦ فروردین ،۱۳٩۱


 

مطلب نمودارهای مختلفی را رسم می کند و این بحث در مطلب خیلی گسترده است اما سعی

 می کنم آنچه را که لازم به نظر میرسد توضیح دهم.

 

دستور plot:

 

شکل کلی این دستور به صورت زیر است:

 

plot(x1,y1,'s1'x2,y2,'s2'…)

 

مفهوم این دستور این است که شما می توانید y1 را بر حسب x1 و y2 را برحسب x2 را رسم کنید.

 

مثلا فرض کنید می خواهیم تابع  1+cos(2x)را در بازه [-5 5] رسم کنیم پس به این صورت عمل

عمل می کنیم:

 

>> x=-5:0.1:5;

>> y=1+cos(2*x);

>> plot(x,y)

 

 

 

 

حال فرض کنید می خواهیم رنگ نمودار را قرمز و خط آن را ستاره ای کنیم ،پس می نویسیم:

این همان s1 است که سیمبول محسوب می شود.

 

>> plot(x,y,'r*')

 

 

 

 

 

 

دیدید که برای این تغییرات علایمی را در کوتیشن قرار دادیم این تغییرات را می توانیم بر حسب جدول زیر مدل کنیم:

 

 

نماد

رنگ

نماد

علایم

نماد

نوع خط

b

آبی

.

نقطه

-

توپر

g

سبز

o

دایره

:

نقطه چین

r

قرمز

+

علامت جمع

.-

خط نقطه

c

فیروزه ای

*

ستاره

--

خط چین

m

ارغوانی

s

مربع

 

 

y

زرد

x

علامت ضربدر

 

 

k

سیاه

d

لوزی

 

 

w

سفید

v

مثلث رو به پایین

 

 

 

 

^

مثلث رو به بالا

 

 

 

 

مثلث رو به چپ

 

 

 

 

مثلث رو به راست

 

 

 

 

p

ستاره پنج پر

 

 

 

 

h

ستاره شش پر

 

 

 

 

 

که می توانیم این تغییرات را در هر شکل ایجاد کنیم و این علایم را داخل کوتیشن کنار هم قرار دهیم.

 

دستور ezplot:

برای رسم توابع به کار می رود که در این هنگام دیکر حتی نیازی به تعریف بردار هم ندارید:

فرض کنید می خواهیم   cosh(x) را رسم کنیم پس داریم:

 

ezplot('cosh(x)')

 

 

 

 

 

دستور semilogy:

 

مقدار  log(y) را جایگزین می کند .

 

دستور semilogx:

 

مقدار  log(x) را جایگزین می کند .

 

>> x=-5:0.1:5;

>> y=exp(-2*x);

>> semilogy(x,y)

 

 

 

 

دستور title:

 

برای تا یپ متن در بالای نمودار از آن استفاده می شود.

 

title('your text')

 

دستور grid:

 

 grid onخطوط شبکه ای ایجاد می کند, grid off این خطوط را از بین می برد.

 

دستور box:

box on جعبه محور های مختصات را ایجاد می کند.وbox off آن را از بین می برد.

 

دستورات xlabel و ylabel وzlabel :

 

به ترتیب برچسب هایی را در کنار محور های x و y وz ایجاد می کند.

xlabel('your text')

 

دستور gtext:

 

پس از تایپ به صورت gtext('your text') اگر مکان نما روی figure قرار بگیرد می توانید

متن را در هر نقطه ای قرار دهید.

هر زمان که شما یک نمودار را در مطلب رسم می کنید چند شی متفاوت ایجاد می شود:اول یک صفحه خالی

است که figure نامیده می شود.

 

دستور figure:

 

یک پنجره خالی ایجاد می کند.که حاوی هیچ نموداری نیست.

 

قسمت دوم قسمتی است که نمودار در آن رسم می شود و شامل محور های مختصات می باشد.

و در مطلب axes نامیده می شود.

 

دستور axes :

 

یک figure رسم می کند که حاوی یک axes  خالی است .

 

و در نهایت چیزی است که در axes رسم می شود.

 

اما همه این حرفها را گفتم تا این چیز را بدانید که تمام اشیا که بوجود می آیند دارای خواص منحصر به فرد

 خود نیز هستند مثلا زمانی که شما یک نمودار را رسم می کنید این نمودار دارای خواصی مثل رنگ زمینه ، نوع خطی که شکل با آن رسم می شود، قطر خط و . . . غیره می باشد که می توان تمام خواص یک شی را گرفت و همچنین آنها را به دلخواه خود تغییر داد که برای این کار از دستورات زیر استفاده می کنیم :

 

 

دستورget:

 

می توان خواص و یا یک خاصیت از یک شی را در یافت کرد.

 

مثلا در زیر خواص نموداری را که در جلسه قبل رسم کردیم را با دستور get دریافت

می کنیم:

 

دتورات رسم را دوباره در زیر آورده ام:

 

>> x=-5:0.1:5;

>> y=1+cos(2*x);

>> handel=plot(x,y);

>> get(handel)

                 Color: [0 0 1]

             EraseMode: 'normal'

             LineStyle: '-'

             LineWidth: 0.5000

                Marker: 'none'

            MarkerSize: 6

       MarkerEdgeColor: 'auto'

       MarkerFaceColor: 'none'

                 XData: [1x101 double]

                 YData: [1x101 double]

                 ZData: [1x0 double]

          BeingDeleted: 'off'

         ButtonDownFcn: []

              Children: [0x1 double]

              Clipping: 'on'

             CreateFcn: []

             DeleteFcn: []

            BusyAction: 'queue'

      HandleVisibility: 'on'

               HitTest: 'on'

         Interruptible: 'on'

              Selected: 'off'

    SelectionHighlight: 'on'

                   Tag: ''

                  Type: 'line'

         UIContextMenu: []

              UserData: []

               Visible: 'on'

                Parent: 157.0016

           DisplayName: ''

             XDataMode: 'manual'

           XDataSource: ''

           YDataSource: ''

           ZDataSource: ''

 

چیز هایی را که در بالا می بینید همان خواصی هستند که در مورد آنها صحبت کردم البته صحبت در مورد

همه خواص بالا خارج از حوصله است و چند تا از خاصیت ها را ذکر کرده و با دستور set تغییر می دهیم:

 

دستور set:

 

توسط این دستور می توان خواص یک شی را به دلخواه تغییر داد:

 

مثلا فرض کنید می خواهم رنگ نمودار را از آبی به قرمز و نوع marker آن را به ستاره ای

با سایز 8 تغییر دهیم:

 

پس از دستور set به ترتیب نام مشخصه و سپس مقدار آن را وارد می نماییم:

 

>> set(handel,'color',[1 0 0],'marker','*','markersize',8)

 

 

از دستورات set و get در طراحی رابط های گرافیکی به وفور استفاده می شود.

رسم کردن رویه ها :

 

رسم کردن رویه ها در MATLAB  ، همانند رسم نمودار مبحث گسترده ای است ( البته

برای حرفه ای ها ) . ولی در زیر چند مثال را آورده ام که امیدوارم برای شروع کار

 مفید مفید واقع شود :

 

دستور meshgrid :

 

آرایه های  x  و  yرا  برای نمودار های سه بعدی تولید می کند .

 

 

>> [X,Y] = meshgrid(1:3,10:14)

 

X =

 

     1     2     3

     1     2     3

     1     2     3

     1     2     3

     1     2     3

 

 

Y =

 

    10    10    10

    11    11    11

    12    12    12

    13    13    13

    14    14    14

 

در مثال های آتی این دستور را در کنار دیگر دستورات رسم سه بعدی خواهیم آورد .

 

دستور surf :

 

نمودار صفحه ای (surface plot ) را رسم می کند .

 

مثال :تابع                          را رسم کنید .

 

xg=linspace(-5,5,20);

[x,y]=meshgrid(xg,xg);

z=2-x.^2-y.^2;

surf(x,y,z)

 

 

 

 

 

 

دستور surfc :

 

 

خطوط تراز را روی صفحه ثابت z و در زیر رویه نمایش می دهد .

 

 

 

 

xg=linspace(-5,5,20);

[x,y]=meshgrid(xg,xg);

z=2-x.^2-y.^2;

surfc(x,y,z)

 

 

 

 

 

 

دستور mesh :

 

نمودار شبکه ای را رسم می کند .

 

 

xg=linspace(-5,5,20);

[x,y]=meshgrid(xg,xg);

z=2-x.^2-y.^2;

mesh(x,y,z)

 

 

 

 

 

رسم کلاه مشهور مکزیکی :

 

>> [x,y]=meshgrid(-8.2:0.5:8.2);

>> r=sqrt(x.^2+y.^2);

>> z=sin(r)./r;

>> mesh(z)

دستور subplot :

 

در یک پنجره figure می توانیم بیش یک مجموعه از محورهای مختصات را رسم کنید .

دستور subplot(m,n,p) پنجره figure جاری را به m*n ناحیه تبدیل کند و ناحیه p را

به عنوان ناحیه فعال انتخاب می کند . زیر نمودارها به ترتیب از چپ به راست و بالا به

پایین شماره گذاری می شوند .

 

مثال :

 

نمودارهای sin(x) ، cos(x) ، sinh(x) و  cosh(x)را توسط زیر نمودار ها رسم

کنیـد ؟

 

 

x=-5:0.1:5;

y=sin(x);

z=cos(x);

y1=sinh(x);

z1=cosh(x);

subplot(2,2,1)

plot(x,y)

subplot(2,2,2)

plot(x,z)

subplot(2,2,3)

plot(x,y1)

subplot(2,2,4)

plot(x,z1)

 

 

 

 

دستور area :

 

از این تابع برای ساخت نموداری که از تعدادی نواحی رو هم انباشته شده تشکیل می شود ، استفاده

کنید .دستور area(x,y) با دستور plot(x,y) برابر می باشد که در آن x,y هر دو بردار می باشند .

با این تفاوت که فضای زیر نمودار رنگ می شود .در دستور area(x,y) ، y ماتریس و x هم ماتریس

 یا برداری می باشد که تعداد سطرهای آن با تعداد سطر های y برابر می باشد .اگر x نوشته نشود ،

دستور area از مقدار پیش فرض x=1:size(y,1) استفاده می کند .

 

مثال :

 

z=cos(x);

z=-pi:pi/5:pi;

area([sin(z);cos(z)])

 

 

 

 

دستور fill :

 

برای رنگ کردن یک چند ضلعی می توانید از این تابع استفاده کنید .دستور fill(x,y,’c’)

یک چند ضلعی را که بر حسب بردار های ستونی x و y و رنگ c مشخص می شود رنگ

می کند .

 

مثال :

 

به عنوان یک مثال ساده مثلثی با رنگ سبز را رسم می نماییم :

 

>> x=[1 2 3];

>> y=[1 5 4];

>> fill(x,y,'g')

 

 

 

 

دستور pie :

 

با استفاده از تابع pie(a,b) می توانید نمودارهای استاندارد کیکی رسم کنید که در آن a

برداری از مقادیر و b یک بردار منطقی اختیاری می باشد که قاچ یا قاچهایی را که می بایست

از نمودار کیکی بیرون آورده شوند را توصیف می کند .

>> a=[0.5 1 1.6 1.2 0.8 2.1];

>> pie(a,a==max(a))

 

نمودارهای قطبی :

 

دستور polar :

 

این تا بع داده ها را بر روی مختصات قطبی رسم می کند . شکل کلی این تابع به صورت زیر است :

 

Polar(theta,r)

 

که در آن  theta آرایه ای از زاویه ها بر حسب رادیان بوده و r آرایه ای از فواصل می باشد .

 

 

مثال :

 

تا بعr=1+cos(theta)  را رسم کنید :

 

>> theta=0:pi/20:2*pi;

>> r=1+cos(theta);

>> polar(theta,r)

 

 

 

 

دستور bar :

 

این تابع یک نمودار میله ای عمودی تولید می کند :

 

 

>> x=-2.9:0.2:2.9;

>> y=exp(-x.*x);

>> bar(x,y)

 

 

 

 

دستور bar3 :

 

نمودار میله ای سه بعدی را رسم می کند :

 

 

نمودار بالا را با این دستور رسم می کنیم :

>> x=-2.9:0.2:2.9;

>> y=exp(-x.*x);

>> bar3(x,y)

 

 

 

 

دستورstairs :

 

یک نمودار stairs با هر پله بر روی نقطه ((x,y ترسیم می کند:

 

 

>> x=-2.9:0.2:2.9;

>> y=exp(-x.*x);

stairs(x,y)

 

 

 

 

دستور compass :

 

این تابع یک نمودار قطبی با یک فلش کشیده شده از مبدا به مکان ((x,y تولید می کند .

مختصات نقاطی که قرار است ترسیم شوند در مختصات کارتزین هستند نه قطبی .

 

>> z=eig(randn(20));

>> compass(z)

 

 

http://matlabseven.blogfa.com 

 

 

 

 

نویسندگان وبلاگ:
کدهای اضافی کاربر :