ادامه ی مبحث رسم نمودار با استفاده از MATLAB مهندس علیرضا ورپشتی دانشجوی کارشناسی ارشد مهندسی مکانیک ساخت و تولید دانشگاه آزاد اسالمی واحد نجف.

Download Report

Transcript ادامه ی مبحث رسم نمودار با استفاده از MATLAB مهندس علیرضا ورپشتی دانشجوی کارشناسی ارشد مهندسی مکانیک ساخت و تولید دانشگاه آزاد اسالمی واحد نجف.

Slide 1

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 2

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 3

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 4

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 5

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 6

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 7

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 8

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 9

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 10

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 11

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 12

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 13

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 14

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 15

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 16

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬


Slide 17

‫ادامه ی مبحث رسم نمودار با استفاده از‬
‫‪MATLAB‬‬

‫مهندس علیرضا ورپشتی‬
‫دانشجوی کارشناسی ارشد‬
‫مهندسی مکانیک ساخت و تولید‬
‫دانشگاه آزاد اسالمی واحد نجف اباد‬
‫مهر ماه ‪1388‬‬

WWW.ENG2007ALI.BLOGFA.COM

‫مثال‬

>>x=linspace(1,10);
>> y=sin(x);z=cos(x);
>> plot(x,y,'--g',x,z,':m',x,cos(2*x),'-.y')
>> legend(‘Sin(x)’,’Cos(x)’,’Cos(2x)’)

‫مهندس علیرضا ورپشتی‬

‫‪WWW.ENG2007ALI.BLOGFA.COM‬‬

‫ادامه ی دستورات رسم نمودار‬
‫‪‬‬

‫دستور ‪ :subplot‬این دستور برای رسم چندین نمودار در یک پنجره ی ‪ figure‬در کنار‬
‫یکدیگر است و فرم کلی آن به صورت )‪ subplot(n,m,p‬است که ‪ n‬سطر‪ m ،‬ستون و ‪p‬‬
‫شماره ی نمودار است‪ .‬مثال‪:‬‬
‫;‪>> x=0:.05:4‬‬
‫;)‪>> y=sin(x‬‬
‫;)‪>> z=cos(x‬‬
‫)’‪>> subplot(1,2,1);plot(x,y,’g‬‬
‫)’‪>> subplot(1,2,2);plot(x,z,’m‬‬

‫در این مثال دو نمودار در کنار هم به صورت سطری و دارای دو‬
‫ستون می باشند‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :plotyy‬رسم دو تابع که مقادیر آن ها با یکدیگر فاصله ی زیاد دارند روی یک گراف‬
‫ناممکن است‪ .‬دستور ‪ plotyy‬امکان استفاده از دو محور بر روی یک گراف را برای ما ایجاد‬
‫می کند و در نتیجه می توانیم دو تابع با مقادیر دور از هم را روی یک گراف با این دستور‬
‫رسم کنیم‪ .‬این دستور به صورت )‪ plotyy(x,y1,x,y2‬استفاده می شود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.1:2‬‬
‫;‪>> y1=2*x-3‬‬
‫;‪>> y2=10*y1.^2‬‬
‫)‪>> plotyy(x,y1,x,y2‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :figure‬اگر بخواهیم نمودار دیگری در یک پنجره ی جدید باز کنیم از دستور ‪figure‬‬
‫استفاده می کنیم‪ .‬مثال‪:‬‬
‫;‪>> x=0:.02:2*pi‬‬
‫;)‪>> y=sin(x‬‬
‫)’‪>> plot(x,y,’:k‬‬
‫;)‪>> z=cos(x‬‬
‫)‪>> figure(2‬‬
‫)’‪>> plot(x,z,’--y‬‬

‫مهندس علیرضا ورپشتی‬

‫‪‬‬

‫دستور ‪ :hold‬اگر بخواهیم دو یا چند نمودار را در یک صفحه ی مختصاتی رسم کنیم از‬
‫دستور ‪ hold on‬استفاده می کنیم‪ .‬با اجرای این دستور نمودار اول نگه داشته می شود‬
‫و نمودار بعدی روی آن رسم می شود‪ hold off .‬باعث غیرفعال شدن این قابلیت می‬
‫شود‪ .‬مثال‪:‬‬
‫)’‪>> x=0:.02:2*pi;y=sin(x);plot(x,y,’:r‬‬
‫‪>> hold on‬‬
‫)’‪>> z=cos(x);plot(x,z,’--m‬‬
‫‪>> hold off‬‬

‫مهندس علیرضا ورپشتی‬

‫تعیین حدود نمودار‬
‫‪‬‬

‫برای تعیین حدود نمودار از دستور ‪ axis‬استفاده می شود‪ .‬این دستور بفرم‬
‫)]‪ axis([xmin,xmax,ymin,ymax,zmin,zmax‬به کار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=-2:.05:4‬‬
‫;‪>> y=2*x.^2+3‬‬
‫)’‪>> plot(x,y,’--c‬‬
‫‪>> axis‬‬
‫?‬
‫)]‪>> axis([-2,0,5,20‬‬

‫مهندس علیرضا ورپشتی‬

‫رسم نمودارهای سه بعدی‬
‫‪‬‬

‫دستور ‪ :plot3‬یکی از دستوراتی که برای رسم نمودارها در محیط سه بعدی بکار می رود‬
‫دستور ‪ plot3‬می باشد که به فرم )‪ plot3(x,y,z‬بکار می رود‪ .‬مثال‪:‬‬
‫;‪>> x=0:.01:6*pi‬‬
‫)’‪>> plot3(cos(x),sin(x),x,’m‬‬
‫)’)‪>> xlabel(‘Cos(x‬‬
‫)’)‪>> ylabel(‘Sin(x‬‬
‫)’‪>> zlabel(‘x‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای ستونی )میله ای(‬
‫‪‬‬

‫دستور ‪ :bar‬برای رسم نمودارهای ستونی از دستور )‪ bar(x,y,w‬استفاده می شود‪ .‬این‬
‫دستور ‪ y‬را بر حسب بردار ‪ x‬به صورت میله ای رسم می کند‪ .‬پارامتر ‪ w‬عرض میله ها را‬
‫تعیین می کند که پیش فرض آن ‪ 0.8‬می باشد‪ .‬مثال‪:‬‬
‫;‪>> x=-2:1:4‬‬
‫;)‪>> y=1\(x-5‬‬
‫)’‪>> bar(x,y,.6,’w‬‬

‫مهندس علیرضا ورپشتی‬

‫دیگر دستورات مورد استفاده در‬
‫رسم نمودارهای میله ای‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫دستور )‪ barh(x,y‬برای رسم نمودار میله ای دو بعدی در راستای محور ‪ y‬به کار می رود‪.‬‬
‫دستور )‪ bar3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ x‬به کار می‬
‫رود‪.‬‬
‫دستور )‪ barh3(x,y‬برای رسم نمودار میله ای سه بعدی در راستای محور ‪ y‬به کار می‬
‫رود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫نمودارهای دایره ای‬
‫‪‬‬

‫دستور ‪ :pie‬برای رسم نمودارهای دایره ای از دستور )‪ pie(p,w,m‬استفاده می شود که‬
‫‪ p‬درصد یا مساحت هر مقطع‪ w ،‬فاصله ی بین مقطع ها و ‪ m‬توضیح یا برچسب هر‬
‫مقطع می باشد‪ .‬مثال‪:‬‬
‫;]‪>> p=[10,3,6,5,2‬‬
‫;]‪>> w=[0.5 1 1 0.5 1‬‬
‫;}’‪>> m={‘Tehran’,’Shiraz’,’Isfahan’,’Tabriz’,’Ahvaz‬‬
‫)‪>> pie(p,w,m‬‬

‫نکته‪ :‬اگر از این دستور به صورت ‪ pie3‬استفاده کنیم یک‬
‫نمودار سه بعدی خواهیم داشت‪..‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪ezplot‬‬
‫‪‬‬

‫در ‪ MATLAB‬بعضی از توابع بدون مقدار دهی با توابعی مانند ))‪ ezplot(f(x‬رسم می‬
‫شوند‪.‬‬

‫‪‬‬

‫‪ ezplot‬دامنه را به صورت پیش فرض ]‪ [-2*pi,2*pi‬قرار می دهد‪.‬‬

‫‪‬‬

‫فرم )]‪ ezplot(f(x),[min,max‬برای تعیین دستی دامنه ی متغیر بکار می رود‪.‬‬

‫‪‬‬

‫‪‬‬

‫توابع به فرم )‪ y=f(x‬مانند ‪ y=-2x2+3‬را می توان با ‪ plot‬رسم کرد اما رسم برخی از این‬
‫توابع مانند )‪ y=tan(x‬که در دامنه ی معمول ‪ ،x‬مقادیر بزرگ پیدا می کنند بوسیله ی‬
‫‪ plot‬راحت نیست اما ‪ ezplot‬این گونه توابع را هوشمندانه و به راحتی رسم می کند‪.‬‬

‫رسم توابه ضمنی )توابعی که ‪ x‬و ‪ y‬به صورت مخلوط می آیند مانند ‪ (x2+y2=1‬با دستور‬
‫‪ ezplot‬به راحتی انجام می شود‪ .‬وقتی تابعی ضمنی به ‪ ezplot‬داده می شود طرف‬
‫راست معادله باید صفر شود‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫‪‬‬

‫رسم دایره ای به شعاع ‪ 6‬با دستور ‪:ezplot‬‬

‫;’‪>> f=‘x^2+y^2-36‬‬
‫)‪>> ezplot(f‬‬
‫‪>> axis equal‬‬

‫مهندس علیرضا ورپشتی‬

‫تابع ‪fplot‬‬
‫‪‬‬

‫فرم کلی این تابع به صورت )‪ fplot(fun,lims‬می باشد‪.‬‬

‫‪‬‬

‫‪ fun‬تابعی از ‪ x‬است که همانند آرگومان ‪ ezplot‬باید به صورت عبارت رشته ای وارد شود‪.‬‬

‫‪‬‬

‫‪ lims‬محدوده ی محورها را تعیین می کند‪.‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪ fun‬می تواند یک بردار از توابع گوناگون و یا یک ماتریس باشد که هر ستون آن یک تابع‬
‫جداگانه باشد‪.‬‬
‫‪ lims‬یا باید به صورت ]‪ [xmin xmax‬باشد و یا به صورت ]‪ [xmin xmax ymin ymax‬که در‬
‫حالت اول محدوده ی محور عمودی خود به خود تعیین خواهد شد‪.‬‬
‫‪ fplot‬مقادیر ناهمگون توابع را طوری تنظیم می کند که ترسیم شکیلی حاصل شود‪ ،‬به‬
‫خصوص وقتی که توابع دارای مقادیر دور از هم باشند‪.‬‬

‫مهندس علیرضا ورپشتی‬

‫مثال‬
‫ رسم می‬fplot ‫ و‬plot ‫ کسینوس و تانژانت را بر روی یک گراف با‬،‫منحنی های سینوس‬
:‫کنیم‬
>> x=linspace(-2*pi,2*pi,20);
>> figure(1);plot(x,tan(x),x,sin(x),x,cos(x))
>> f=‘[tan(t) sin(t) cos(t)]’;
>> figure(2);fplot(f,[-2*pi 2*pi -5 5])

‫مهندس علیرضا ورپشتی‬



www.eng2007ali.blogfa.com

‫مهندس علیرضا ورپشتی‬

‫‪ (a‬نمودار ستونی درجه حرارت یک روز را بین‬
‫ساعت ‪ 8‬تا ‪ 24‬با فاصله ی دو ساعته رسم‬
‫کنید‪.‬‬
‫‪ (b‬تابع ‪ sinx/x‬را با ‪ ezplot‬رسم کنید‪.‬‬

‫‪www.eng2007ali.blogfa.com‬‬

‫خسته نباشید‪..‬‬