info@matlabiran.ir

خانه » کتاب آموزشی » آموزش متلب – بخش 3

آموزش متلب – بخش 3

متلب ایران

متلب ایران

در این مجموعه به آموزش متلب از طریق متن نوشتاری می پردازیم. بدیهی است برای فهم توضیحات ارائه شده، اجرا کردن خط به خط دستورات در متلب می تواند بسیار کمک کننده باشد. لذا از دانشجویان عزیز خواهش می کنیم برای بالا بردن مهارت خود در استفاده از متلب؛ پا به پای این آموزش تمرینات خود را انجام دهند.

[divider]

آموزش متلب – بخش 3

 

دستور input:

>> a=input(‘enter a= ‘)

enter a=

دستور pause: توقف در حين اجرا

 

مثال: برنامه ای بنويسيد که يک عدد را از کاربر بگيرد و آن را در متغيری مانند x ذخيره کند. با استفاده از آن عبارت زير را محاسبه کند و مقدار y را با پيغام مناسب نمايش دهد.

y = x    + 3x    + 6x + 6

file/new/scrip

  1. x=input(‘enter x = ‘);
  2. y=x^3+3*x^2+6*x+6;
  3. disp(‘result’)
  4. disp(y)

دستور linspace:

>> a=linspace(0,10,5)                       .بين ۰ و ۱۰ ٬ پنج عدد با فاصله يکسان ايجاد می کند

 a =         0    2.5000    5.0000    7.5000   10.0000

 

دستور logspace:

>> a=logspace(1,3,3)                          101,102,103 دارد پس به معنی log چون

 a =          10         100        1000

مثال: برنامه ای بنويسيد که عدد صحيح n را از ورودی بگيرد و برداری 100 عنصری بين 0 و  2nπ ايجاد نموده و در متغير x قرار دهد. سپس مقادير y را از رابطه زير محاسبه کرده و نمايش دهد.

y = |sin(x)| *x

file/ new/ scrip

1. n=input(‘enter n= ‘);

2. x=linspace(0,2*n*pi,100);

3. y=abs(sin(x)).*(x.^2)

دستور strcmp: این دستور برای مقایسه برابری رشته ها استفاده می شود

دستور charتابعی برای تبديل متغير از نوع double به رشته

دستور mat2str: دستوری برای تبديل ماتريس از اعداد به رشته

دستور evalدستوری برای اجرای فرمانی از متلب که به صورت رشته وارد شده

برای نمايش کد اسکی يک رشته: 

>> abs

>> nthroot

  • اين برنامه رشته hello را از آخر به اول نشان می دهد.

>> s=’hello’;

>> num=s(end:-1:1);

>> disp(num)

olleh

  •  Sin(pi/6)     =      sind(30)

 

رسم نمودار: 

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

دستور plot : دستور (plot(x,y نمودار y را برحسب x رسم می کند.

>> x=0:0.01:3.14;

>> y=sin(x);

>> plot(x,y)

 1

برنامه فوق نمودار y=sin()x را در بازه [41.3,0] رسم می کند.

  •  نقاط داده شده گسسته هستند اما تابع plot با اتصال نقاط رسم شده به يکديگر يک نمودار پيوسته را نشان می دهد

دستور رسم نمودار ميدانی و برداری: (feather):

>> theta=0:01-:09;

>> r=ones(size(theta));

>> [u,v]=pol2cart(theta*pi/180,r*10);

>> feather(u,v)

>> axis equal

4

اگر ورودی مختلط داشته باشيم:

  >> t=0:0.5:10;

>> s=0.05+i;

>> z=exp(-s*t)

>> feather(z)

5

 دستور رسم همراه با نمايش گرافيکی: (comet)

>> t=-1000:1000;

>> x=sin(t);

>> comet(x)

6

  colormap :معرفی  جعبه ابزار رنگ

>> m=gray(8);

>> colormap(m)

>> imagesc(1:1000)

7

>> z=peaks;

>> colormap(gray(8))

>> imagesc(z)

>> colorbar

8

 ايجاد يک سيگنال درهم: 

>> plot(rand(100,1))

9

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

>> y=rand(1,5);

>> stem(y)

10

تمرين: فرض کنيد می خواهيم دو نمودار a و b را با هم جمع کنيم.

>> x=linspace(0,2*pi,60);

>> a=sin(x); b=cos(x);

>> stem_handles=stem(x,a+b)

>> hold on

stem_handles =

  174.0138

>> plot_handles=plot(x,a,’–r’,x,b,’–g’);

>> hold off

>> legend_handles=[stem_handles(1);plot_handles];

>> legend(legend_handles,’a+b’,’a=sin(x)’,’b=cos(x)’)

 11

  تمرين: می خواهيم مينيمم و ماکزيمم يک تابع مثل (sin(x را بيابيم.

  >> x=-pi:.01:pi;

>> f=sin(x);

>> plot(f)

>> max=max(f) max =    1.0000  >> min=min(f)

min =   -1.0000

 12

 

  دستور tic/toc : اگر در ابتدای برنامه tic و در انتهای آن toc بنويسيم زمان اجرای برنامه نشان داده می شود.

  نمايش نقاط ماکزيمم و مينيمم:

 >> x=0:0.01:2;

>> y=humps(x);

>> plot(x,y)

>> [v,ind]=max(y)

v =   96.5000

ind =    31

>> hold on

>> plot(x(ind),y(ind),’ro’);

>> x(ind)

ans =    0.3000

>> y(ind)

ans =   96.5000

13

  دستور type : برای مشاهده source برنامه از اين دستور استفاده می شود.

>> type humps

  تمرين: رسم يک کره 

 X= 2cos(v)cos(u)                            0<u<2π

 Y= 2cos(v)sin(u)                             -π/2<V<π/2

 Z= 2sin(v)

>> u=linspace(0,2*pi,40);

>> v=linspace(-pi/2,pi/2,31);

>> [u,v]=meshgrid(u,v);

>> x=2.*cos(v).*cos(u);

>> y=2.*cos(v).*sin(u);

>> z=2.*sin(v);

>> surf(x,y,z)

>> axis image

14

رسم  کره با دستور sphere:

>> sphere

>> axis image

15

 رسم  استوانه با دستور cylinder:

>> cylinder

>> axis square

>> colormap(spring)

16

دستور رسم نواحی روی هم patch:

>> x1=[0 1 1 0];

>> y1=[0 0 1 1];

>> x2=x1+0.5; >> y2=y1+0.5;

>> clf

>> subplot(221)

>> patch(x1,y1,’y’)

>> patch(x2,y2,’r’) >> subplot 222

>> patch(x2,y2,’g’)

>> patch(x1,y1,'r')
17

پاسخ دهید

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