[آموزش] (رسم شکل) تعیین ویژگی های خط های رسم شده در شکل، در متلب

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
فهرست مطالب این تاپیک:

  1. شیوه های مختلف نمایش خطوط منحنی برای دستور plot در متلب
  2. تعیین ضخامت خطوط منحنی های رسم شده با دستور plot در متلب
  3. تعیین رنگ خطوط منحنی های رسم شده با دستور plot در متلب
  4. تغییر تدریجی رنگ خط یک منحنی، با دستور surface در متلب
  5. سایه زدن برای خط رسم شده در یک منحنی، با دستور surface در متلب


منبع: kelidestan.com
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
شیوه های مختلف نمایش خطوط منحنی برای دستور plot در متلب

شیوه های مختلف نمایش خطوط منحنی برای دستور plot در متلب

همان طور که می دانید، دستور plot در متلب، برای ترسیم منحنی ها به کار می رود. این دستور برای نحوه نمایش خطوط منحنی ها، دارای یک پیش فرض می باشد، اما می توان این پیش فرض را تغییر داد تا خطوط منحنی ها، با اشکال و شیوه های دیگری نمایش داده شوند. برای این کار، به دستور جدیدی نیاز نیست و تنها باید درون پرانتز دستور plot ، عبارت مربوط به شیوه نمایش مورد نظرمان را بنویسیم. به مثال زیر توجه کنید :

مثال :
فرض کنید بخواهیم تابع زیر را در بازه [-1,1] با دستور plot رسم کنیم :
[FONT=MathJax_Math]y[/FONT][FONT=MathJax_Main]=[/FONT][FONT=MathJax_Math]x[/FONT][SUP][FONT=MathJax_Main]3[/FONT][/SUP]
برای این منظور، می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]3[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
نتیجه :

matlab66.jpg
این شیوه نمایش منحنی، شیوه نمایش پیش فرض برای دستور plot می باشد. حال شیوه های دیگر را به کار می بریم :

نمایش خطوط به صورت خطوط نقطه-خط چین (dash-dot line) :
برای نمایش خطوط به صورت خطوط نقطه-خط چین (dash-dot line)، باید عبارت '.-' را درون پرانتز دستور plot بنویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]3[/COLOR],[COLOR=#A020F0]'-.'[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]

نتیجه :


matlab67.jpg

مشاهده می کنید که خطوط منحنی به صورت خطوط نقطه-خط چین (dash-dot line) نمایش داده شده است.

نمایش خطوط به صورت خطوط خط چین قرمز (red dashed line) :
برای نمایش خطوط به صورت خطوط خط چین قرمز (red dashed line)، باید عبارت '--r'را درون پرانتز دستور plot بنویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]3[/COLOR],[COLOR=#A020F0]'r--'[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]

نتیجه :

matlab68.jpg
مشاهده می کنید که خطوط منحنی به صورت خطوط خط چین قرمز (red dashed line) نمایش داده شده است.

نمایش خطوط به صورت خطوط با علامت های مثبت سیاه (black plus signs) :
برای نمایش خطوط به صورت خطوط با علامت های مثبت سیاه (black plus signs)، باید عبارت '+k' را درون پرانتز دستور plot بنویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]3[/COLOR],[COLOR=#A020F0]'k+'[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
نتیجه :

matlab69.jpg
مشاهده می کنید که خطوط منحنی به صورت خطوط با علامت های مثبت سیاه (black plus signs) نمایش داده شده است.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تعیین ضخامت خطوط منحنی های رسم شده با دستور plot در متلب

تعیین ضخامت خطوط منحنی های رسم شده با دستور plot در متلب

چنانچه یک منحنی را با استفاده از دستور plot رسم کنیم، خطوط منحنی نمایش داده شده، دارای یک میزان ضخامت، به صورت پیش فرض می باشند. اما ممکن است بخواهیم ضخامت خطوط منحنی را تغییر دهیم. برای این منظور باید درون پرانتز دستور plot ، عبارت 'linewidth' را بنویسیم و پس از آن نیز عدد متناظر با ضخامت مورد نظرمان را ذکر کنیم. به مثال زیر توجه کنید :

مثال :
فرض کنید بخواهیم منحنی مربوط به تابع زیر را در بازه [-1,1] با استفاده از دستور plot رسم کنیم :
[FONT=MathJax_Math]y[/FONT][FONT=MathJax_Main]=[/FONT][FONT=MathJax_Math]x[/FONT][SUP][FONT=MathJax_Main]2[/FONT][/SUP]
ابتدا منحنی را به صورت معمولی ترسیم می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]

نتیجه :

matlab74.jpg
حال همان منحنی را با ضخامت خطوط بیشتر رسم می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]2[/COLOR],[COLOR=#A020F0]'linewidth'[/COLOR],[COLOR=#3333FF]5[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
نتیجه :


matlab75.jpg

مشاهده می کنید که خطوط منحنی، با ضخامت بیشتری نمایش داده شده اند.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تعیین رنگ خطوط منحنی های رسم شده با دستور plot در متلب

تعیین رنگ خطوط منحنی های رسم شده با دستور plot در متلب

در متلب، با استفاده از دستور plot ، می توانیم منحنی های مختلف را رسم کنیم. اما دستور plot ، خطوط منحنی را با یک رنگ پیش فرض نمایش می دهند. چنانچه بخواهیم خطوط منحنی با رنگی دیگر نمایش داده بشوند، باید عبارت مربوط به آن رنگ را درون پرانتز این دستورات بنویسیم. برای تعیین رنگ، باید در میان دو علامت ' یک حرف انگلیسی را که نشان دهنده آن رنگ می باشد، بنویسیم.در متلب، برای هر رنگ، یک حرف انگلیسی در نظر گرفته شده است. لیست این حروف در جدول زیر نمایش داده شده است :

رنگحرف متناظر برای آن رنگ
Redr
Greeng
Blueb
Cyanc
Magentam
Yellowy
Blackk
Whitew
به مثال زیر توجه کنید :

مثال :
فرض کنید بخواهیم منحنی زیر را در بازه [-1,1] ، با استفاده از دستور plot رسم کنیم :
[FONT=MathJax_Math]y[/FONT][FONT=MathJax_Main]=[/FONT][FONT=MathJax_Math]x[/FONT][SUP][FONT=MathJax_Main]2[/FONT][/SUP]
ابتدا دستور plot را بدون مشخص کردن رنگ، به کار می بریم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
نتیجه :

matlab80.jpg
مشاهده می کنید که منحنی، به رنگ آبی، نمایش داده شده است.این بار عبارت 'r' را درون پرانتز دستور plot می نویسیم تا خطوط منحنی، به رنگ قرمز، نمایش داده شوند (حرف r از اول کلمه red گرفته شده است) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]x=-[COLOR=#3333FF]1[/COLOR]:[COLOR=#3333FF]0.1[/COLOR]:[COLOR=#3333FF]1[/COLOR];
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,x.^[COLOR=#3333FF]2[/COLOR],[COLOR=#A020F0]'r'[/COLOR][COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]

نتیجه :


matlab81.jpg
مشاهده می کنید که خطوط منحنی، به رنگ قرمز، نمایش داده شده است.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تغییر تدریجی رنگ خط یک منحنی، با دستور surface در متلب

تغییر تدریجی رنگ خط یک منحنی، با دستور surface در متلب

با استفاده از دستور surface در متلب، می توانیم ویژگی های خط رسم شده در یک منحنی را تغییر بدهیم. مثلا می توانیم ضخامت خط را تغییر بدهیم و یا اینکه تعیین کنیم که رنگ خط منحنی، به مرور و در یک جهت خاص، تغییر کند.به مثال زیر توجه کنید :

مثال :
تعیین می کنیم که رنگ خط منحنی، در جهت x تغییر کند :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clc[/COLOR]
[COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]

x = [COLOR=#3333FF]0[/COLOR]:[COLOR=#3333FF]0.05[/COLOR]:[COLOR=#3333FF]2[/COLOR]*[COLOR=#0000FF]pi[/COLOR];
y = [COLOR=#0000FF]sin[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
x_length = [COLOR=#0000FF]length[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
z = [COLOR=#0000FF]zeros[/COLOR][COLOR=#008800]([/COLOR][COLOR=#3333FF]1[/COLOR],x_length[COLOR=#008800])[/COLOR];
col = x;  [COLOR=#228B22]% This is the color, vary with x in this case.[/COLOR]
[COLOR=#0000FF]surface[/COLOR][COLOR=#008800]([/COLOR][COLOR=#008800][[/COLOR]x;x[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]y;y[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]z;z[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]col;col[COLOR=#008800]][/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'facecol'[/COLOR],[COLOR=#A020F0]'no'[/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'edgecol'[/COLOR],[COLOR=#A020F0]'interp'[/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'linew'[/COLOR],[COLOR=#3333FF]3[/COLOR][COLOR=#008800])[/COLOR];[/FONT]
[/FONT][/COLOR]
با مشخصه linew ، ضخامت خط منحنی را مشخص کرده ایم (برابر مقدار 3).

نتیجه :

matlab-283.jpg
مثال :
همان مثال قبل را تکرار می کنیم، اما این بار تعیین می کنیم که رنگ خط منحنی، در جهت y تغییر کند :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clc[/COLOR]
[COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]

x = [COLOR=#3333FF]0[/COLOR]:[COLOR=#3333FF]0.05[/COLOR]:[COLOR=#3333FF]2[/COLOR]*[COLOR=#0000FF]pi[/COLOR];
y = [COLOR=#0000FF]sin[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
x_length = [COLOR=#0000FF]length[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
z = [COLOR=#0000FF]zeros[/COLOR][COLOR=#008800]([/COLOR][COLOR=#3333FF]1[/COLOR],x_length[COLOR=#008800])[/COLOR];
col = y;  [COLOR=#228B22]% This is the color, vary with y in this case.[/COLOR]
[COLOR=#0000FF]surface[/COLOR][COLOR=#008800]([/COLOR][COLOR=#008800][[/COLOR]x;x[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]y;y[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]z;z[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]col;col[COLOR=#008800]][/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'facecol'[/COLOR],[COLOR=#A020F0]'no'[/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'edgecol'[/COLOR],[COLOR=#A020F0]'interp'[/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'linew'[/COLOR],[COLOR=#3333FF]3[/COLOR][COLOR=#008800])[/COLOR];[/FONT]
[/FONT][/COLOR]
نتیجه :


matlab-284.jpg

مثال :
مثال قبل را به گونه ای می نویسیم که رنگ خط منحنی، ثابت باقی بماند :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clc[/COLOR]
[COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]

x = [COLOR=#3333FF]0[/COLOR]:[COLOR=#3333FF]0.05[/COLOR]:[COLOR=#3333FF]2[/COLOR]*[COLOR=#0000FF]pi[/COLOR];
y = [COLOR=#0000FF]sin[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
x_length = [COLOR=#0000FF]length[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
z = [COLOR=#0000FF]zeros[/COLOR][COLOR=#008800]([/COLOR][COLOR=#3333FF]1[/COLOR],x_length[COLOR=#008800])[/COLOR];
col = [COLOR=#3333FF]0[/COLOR]*x;  
[COLOR=#0000FF]surface[/COLOR][COLOR=#008800]([/COLOR][COLOR=#008800][[/COLOR]x;x[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]y;y[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]z;z[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]col;col[COLOR=#008800]][/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'facecol'[/COLOR],[COLOR=#A020F0]'no'[/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'edgecol'[/COLOR],[COLOR=#A020F0]'interp'[/COLOR],[COLOR=#008800]...[/COLOR]
        [COLOR=#A020F0]'linew'[/COLOR],[COLOR=#3333FF]3[/COLOR][COLOR=#008800])[/COLOR];[/FONT]
[/FONT][/COLOR]
نتیجه :


matlab-285.jpg
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
سایه زدن برای خط رسم شده در یک منحنی، با دستور surface در متلب

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

با استفاده از دستور surface می توانیم برای خط رسم شده در یک منحنی، سایه ایجاد کنیم (این مورد، می تواند یکی از کاربردهای دستور surface باشد).به مثال زیر توجه کنید :

مثال :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#0000FF]clc[/COLOR]
[COLOR=#0000FF]clear[/COLOR] [COLOR=#0000FF]all[/COLOR]
[COLOR=#0000FF]close[/COLOR] [COLOR=#0000FF]all[/COLOR]

x = [COLOR=#3333FF]0[/COLOR]:[COLOR=#3333FF]0.005[/COLOR]:[COLOR=#3333FF]2[/COLOR]*[COLOR=#0000FF]pi[/COLOR];
y = [COLOR=#0000FF]sin[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
x_length = [COLOR=#0000FF]length[/COLOR][COLOR=#008800]([/COLOR]x[COLOR=#008800])[/COLOR];
z = [COLOR=#0000FF]zeros[/COLOR][COLOR=#008800]([/COLOR][COLOR=#3333FF]1[/COLOR],x_length[COLOR=#008800])[/COLOR];
col = [COLOR=#3333FF]0[/COLOR]*x; 
x2=x+[COLOR=#3333FF]0.1[/COLOR];
[COLOR=#0000FF]surface[/COLOR][COLOR=#008800]([/COLOR][COLOR=#008800][[/COLOR]x;x2[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]y;y[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]z;z[COLOR=#008800]][/COLOR],[COLOR=#008800][[/COLOR]col;col[COLOR=#008800]][/COLOR],[COLOR=#008800]...[/COLOR]
         [COLOR=#A020F0]'facecol'[/COLOR],[COLOR=#A020F0]'no'[/COLOR],[COLOR=#008800]...[/COLOR]
         [COLOR=#A020F0]'edgecol'[/COLOR],[COLOR=#A020F0]'interp'[/COLOR],[COLOR=#008800]...[/COLOR]
         [COLOR=#A020F0]'linew'[/COLOR],[COLOR=#3333FF]2[/COLOR][COLOR=#008800])[/COLOR];
     
[COLOR=#0000FF]hold[/COLOR] on
[COLOR=#0000FF]plot[/COLOR][COLOR=#008800]([/COLOR]x,y[COLOR=#008800])[/COLOR][/FONT]
[/FONT][/COLOR]
نتیجه :


matlab-286.jpg
 
بالا