29
م ها ت س سی ال ها و ن گ ن س ف ی ر ش ی عت ن ص گاه ش ن دا ر ی$ ئ ا پ86 د اروپ- ن- ج ه حائ ی ده : ر ن ه ه د$ ارائ

آموزش مقدمات MATLAB

  • Upload
    aran

  • View
    66

  • Download
    5

Embed Size (px)

DESCRIPTION

سیگنال ها و سیستم ها دانشگاه صنعتی شریف پائیز 86 ارائه دهنده : ریحانه جباروند. آموزش مقدمات MATLAB. نمای کلی ارائه. محیط کاری MATLAB متغیرها آرایه ها Loops Flow Control M-Files Plotting. محیط کاری MATLAB. Command Window : محل وارد کردن دستورات برای پردازش توسط MATLAB - PowerPoint PPT Presentation

Citation preview

Page 1: آموزش مقدمات  MATLAB

سیگنال ها و سیستم هادانشگاه صنعتی شریف

86پائیز

ارائه دهنده : ریحانه جباروند

Page 2: آموزش مقدمات  MATLAB

نمای کلی ارائه

محیط کاریMATLAB متغیرهاآرایه هاLoopsFlow ControlM-FilesPlotting

Page 3: آموزش مقدمات  MATLAB

MATLABمحیط کاری

Command Window ب-رای دس-تورات ک-ردن وارد مح-ل :

MATLABپردازش توسط

Command History Window پنج-ره در قبال ک-ه دس-توراتی :

Command.اجرا شده اند را نگهداری می کند

Current Directory: GUI م-ورد نی-از ب-رای تغئ-یر دادن پوش-ه ی

MATLABجاری و فایل های

Workspace متغره-ای تعری-ف ش-ده در ط-ول برنام-ه را نش-ان :

می دهد.

Page 4: آموزش مقدمات  MATLAB

MATLABمحیط کاری

دس-توراتwho و whos مش-اهده ی اطالع-ات : workspace .command windowدر

دستورclear

clear

clear name

clc دستورhelp

help command

helpwin

Lookfor keyword

Page 5: آموزش مقدمات  MATLAB

متغیرها

Case sensitive

کاراکتر 31حداکثر

.ابتدای نام متغیرها حتما باید حرف باشد

How_about_this_variable_name

“_“ + حروف + اعداد

:کلمات رزرو شدهfor، end، if، function، return، case،

continue، persistent، global، try، catch

Page 6: آموزش مقدمات  MATLAB

متغیرها

:انتساب یک مقدار به عبارتX = 1

X = 1+2+3

Y = X+1

Z = X+Y عدم مشاهده ی نتیجه پردازش درCommand Window

X = 1 در انتهای عبارت مانع از نمایش نتایج می شود;قرار دادن

X = 1 ;

Page 7: آموزش مقدمات  MATLAB

متغرهای ویژه

Inf( 1/0: به جای مقدار بی نهایت)

Nan: Not a Number( 0/0 – جایگزین مقدار غیر عددی)

Narginتعداد آرگومان های ورودی تابع :

Nargoutتعداد آرگومان های خروجی تابع :

iبرای نشان دادن بخش موهومی اعداد مختلط :

Pi عدد :πRealminکوچکترین عدد مثبت قابل استفاده :

Realmaxبزرگترین عدد مثبت قابل استفاده :

Page 8: آموزش مقدمات  MATLAB

آرایه ها

تعریف آرایه: قرار دادن مقادیر بین دو براکتArray = [1 2 3 4];

آرایه های سطری و ستونی Array = [1 2 3 4]

Array= 1 2 3 4

Array = [1; 2; 3; 4]Array = 1 2 3 4

نتیجه خروجی

نتیجه خروجی

Page 9: آموزش مقدمات  MATLAB

بردار - ماتریس

بردار : آرایه ی تک بعدی

بردار سطری○

بردار ستونی ○

ماتریس : آرایه چند بعدی Array=[1 2 3; 4 5 6; 7 8 9; 10 11 12]Array = 1 2 3 4 5 6 7 8 9 10 11 12

ستون3 سطر و 4آرایه ای با

Page 10: آموزش مقدمات  MATLAB

اندیس گذاری آرایه ها

.ذخیره سازی آرایه به صورت ستونی است

برای دسترسی به یک عنصر، اندیس آن را بین ) ( قرار می

دهیم.

شروع می شود.1اندیس آرایه از

Page 11: آموزش مقدمات  MATLAB

مثال

Array=[1 2 3; 4 5 6; 7 8 9; 10 11 12]Array = 1 2 3 4 5 6 7 8 9 10 11 12 Array[1] = ? 1 Array[3] = ? 7 Array[?] = 2 5

Page 12: آموزش مقدمات  MATLAB

دستیابی بلوکی

Array(1:3)

1 4 7 Array(2,:)

4 5 6 Array(:,3)

3

6

9

12 Array(:,:) = ?

Array = 1 2 3 4 5 6 7 8 9 10 11 12

Page 13: آموزش مقدمات  MATLAB

دستورهای مفید

Array = start : endArray = 1:6 1 2 3 4 5 6 Array = start : increment : endArray = 1:2:6 1 3 5 Length(Array) 4 Size(Array) 4 3 Linespace(start ,end ,number)Linespace(1,10,5)

1 3.25 5 7.75 10

آرایه های تک بعدی

آرایه های چند بعدی

Page 14: آموزش مقدمات  MATLAB

دستورهای مفید

- Zeros(n) - Ones(n)

Zeros(3) Ones(3)

0 0 0 1 1 1

0 0 0 1 1 1

0 0 0 1 1 1

- Zeros(m,n) - Ones(m,n)

Zeros(2,3) Ones(2,3)

0 0 0 1 1 1

0 0 0 1 1 1

Page 15: آموزش مقدمات  MATLAB

ترانهاده

Array=[1 2 3; 4 5 6; 7 8 9; 10 11 12]

Array =

1 2 3

4 5 6

7 8 9

10 11 12 Array’

1 4 7 10

2 5 8 11

3 6 9 12

Page 16: آموزش مقدمات  MATLAB

عملیات آرایه ای

X = [1 2 3; 1 2 3]

Y = [4 5 6; 4 5 6] X + Y

5 7 9

5 7 9 X+Z

Error!

X*Z

6 12

6 12

Z = [ 1 2;1 2;1 2]

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

Page 17: آموزش مقدمات  MATLAB

عملیات آرایه ای نظیر به نظیر

X = [1 2 3; 1 2 3]

Y = [4 5 6; 4 5 6] X.*Y

4 10 18

4 10 18

X.^Y

1 32 729

1 32 729

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

Page 18: آموزش مقدمات  MATLAB

Loops

For variable = expression

Commands

end Y=0;

for x = 1:10

y=y+1;

end

Y = 10

Page 19: آموزش مقدمات  MATLAB

loops

While expression

command

end Y=0;

X=10;

while (x~= 0)

x=x-1;

y=y+1;

end Y= 10;

Page 20: آموزش مقدمات  MATLAB

Flow Control

If logical expression

command

elseif logical command

command

else

command

end

Page 21: آموزش مقدمات  MATLAB

Flow Control

Switch expression

case test expression1

command

case test expression2

command

otherwise

command

end

Page 22: آموزش مقدمات  MATLAB

M-Files

برنامه های بزرگ

حجم زیاد دستورات استفاده ازM-Files

دستورهای تکراری

ایجاد یکM-file

قرار دادن آن در پوشه ی جاری

ن-ام نوش-تن : آن در M-Fileفراخ-وانی دس-تور عن-وان ب-ه

Command window.

% به منظور اضافه کردن :Commentبه برنامه

Page 23: آموزش مقدمات  MATLAB

User Definedتوابع

Function [ output variables ] = name(input variables);مثال

function[y]=test(x); y=0;

while(x~=0) x=x-1; y=y+1; endreturn;

نکته: نام تابع باید با نامm-file.یکسان باشد Y = test(10); اجرا در خط فرمان Y = 10; خروجی

Page 24: آموزش مقدمات  MATLAB

Plot

X= linspace(0,2*pi,40); Y= sin(X); Plot(X, Y);

Z= cos(X); Plot(X,Y,X,Z);

Page 25: آموزش مقدمات  MATLAB

Plot(con’t)

Axis([xmin xmax ymin ymax]);

X= linspace(0,2*pi,40); Y= sin(X); Plot(X, Y); axis[(0 2*pi -1 1]);

Page 26: آموزش مقدمات  MATLAB

Plot(con’t)

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

Xlable(‘statement’);

Ylable(‘statement’);

Title(‘statement’);

Text(variables , statements);

Legend(‘statement’ , ’statement’,…);

Hold on

Hold off

Figure

Close

Grid

Page 27: آموزش مقدمات  MATLAB

Plot(con’t)

Subplot(a,b,c); مثال

X= linspace(0,2*pi,40); Y= sin(X); Z= cos(X); W= 2*sin(X).*cos(X); Subplot(2,2,1); Plot(X,Y); Subplot(2,2,2); Plot(X,Z); Subplot(2,2,3); Plot(X,W);

Page 28: آموزش مقدمات  MATLAB

تمرینات

Full Documentation:

هاfigure، شامل توضیحات و pdfفایل 1.

.2M-fileها در پوشه جداگانه

:قرار دادن مستندات فوق در پوشه ای با عنوان فرمت زیر

Student number # assignment number

Example : 82120406#2

ارسال تمرینات به[email protected]

Page 29: آموزش مقدمات  MATLAB

خسته نباشید