آموزش مقدمات MATLAB - دانشگاه صنعتی شریف

Download Report

Transcript آموزش مقدمات MATLAB - دانشگاه صنعتی شریف

‫سیگنال ها و سیستم ها‬
‫دانشگاه صنعتی شریف‬
‫پائیز ‪86‬‬
‫ارائه دهنده ‪ :‬ریحانه جباروند‬
‫نمای کلی ارائه‬
MATLAB ‫ محیط کاری‬
‫ متغیرها‬
‫ آرایه ها‬
Loops 
Flow Control 
M-Files 
Plotting 
‫محیط کاری ‪MATLAB‬‬
‫‪‬‬
‫‪ :Command Window‬محل وارد کردن دستورات برای پردازش‬
‫توسط ‪MATLAB‬‬
‫‪‬‬
‫‪ :Command History Window‬دستوراتی که قبال در پنجره‬
‫‪ Command‬اجرا شده اند را نگهداری می کند‪.‬‬
‫‪‬‬
‫‪ GUI :Current Directory‬مورد نیاز برای تغئیر دادن پوشه ی‬
‫جاری و فایل های ‪MATLAB‬‬
‫‪‬‬
‫‪ :Workspace‬متغرهای تعریف شده در طول برنامه را نشان‬
‫می دهد‪.‬‬
MATLAB ‫محیط کاری‬
workspace ‫ مشاهده ی اطالعات‬: whos ‫ و‬who ‫دستورات‬
.command window ‫در‬
clear ‫دستور‬
clear
clear name
clc
help ‫دستور‬
help command
helpwin
Lookfor keyword



‫متغیرها‬
Case sensitive

‫ کاراکتر‬31 ‫حداکثر‬

.‫ابتدای نام متغیرها حتما باید حرف باشد‬

How_about_this_variable_name
“_“ + ‫ اعداد‬+ ‫حروف‬

،case ،return ،function ،if ،end ،for :‫کلمات رزرو شده‬

catch ،try ،global ،persistent ،continue
‫متغیرها‬
‫‪‬‬
‫انتساب یک مقدار به عبارت‪:‬‬
‫‪‬‬
‫‪X=1‬‬
‫‪X = 1+2+3‬‬
‫‪Y = X+1‬‬
‫‪Z = X+Y‬‬
‫عدم مشاهده ی نتیجه پردازش در ‪Command Window‬‬
‫‪X=1‬‬
‫قرار دادن ; در انتهای عبارت مانع از نمایش نتایج می شود‬
‫;‪X = 1‬‬
‫متغرهای ویژه‬
‫‪‬‬
‫‪ :Inf‬به جای مقدار بی نهایت (‪)1/0‬‬
‫‪‬‬
‫‪ – Not a Number :Nan‬جایگزین مقدار غیر عددی (‪)0/0‬‬
‫‪‬‬
‫‪ :Nargin‬تعداد آرگومان های ورودی تابع‬
‫‪ :Nargout ‬تعداد آرگومان های خروجی تابع‬
‫‪‬‬
‫‪ :i‬برای نشان دادن بخش موهومی اعداد مختلط‬
‫‪‬‬
‫‪ :Pi‬عدد ‪π‬‬
‫‪‬‬
‫‪ :Realmin‬کوچکترین عدد مثبت قابل استفاده‬
‫‪‬‬
‫‪ :Realmax‬بزرگترین عدد مثبت قابل استفاده‬
‫آرایه ها‬
‫‪‬‬
‫تعریف آرایه‪ :‬قرار دادن مقادیر بین دو براکت‬
‫‪‬‬
‫آرایه های سطری و ستونی‬
‫;]‪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‬‬
‫‪‬‬
‫نتیجه خروجی‬
‫نتیجه خروجی‬
‫بردار ‪ -‬ماتریس‬
‫‪‬‬
‫بردار ‪ :‬آرایه ی تک بعدی‬
‫○ بردار سطری‬
‫○ بردار ستونی‬
‫‪ ‬ماتریس ‪ :‬آرایه چند بعدی‬
‫]‪Array=[1 2 3; 4 5 6; 7 8 9; 10 11 12‬‬
‫= ‪Array‬‬
‫‪1 2 3‬‬
‫‪4 5 6‬‬
‫آرایه ای با ‪ 4‬سطر و ‪ 3‬ستون‬
‫‪7 8 9‬‬
‫‪10 11 12‬‬
‫‪‬‬
‫اندیس گذاری آرایه ها‬
‫‪‬‬
‫ذخیره سازی آرایه به صورت ستونی است‪.‬‬
‫‪‬‬
‫برای دسترسی به یک عنصر‪ ،‬اندیس آن را بین ( ) قرار می‬
‫دهیم‪.‬‬
‫‪‬‬
‫اندیس آرایه از ‪ 1‬شروع می شود‪.‬‬
‫مثال‬
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

‫دستیابی بلوکی‬

Array(1:3)
147

Array(2,:)
456

Array(:,3)

3
6
9
12
Array(:,:) = ?
Array =
1 2 3
4 5 6
7 8 9
10 11 12
‫دستورهای مفید‬
Array = start : end
Array = 1:6
1 2 3 4 5 6
 Array = start : increment : end
Array = 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
‫دستورهای مفید‬
- Zeros(n)
Zeros(3)
- Ones(n)
Ones(3)
0
0
0
0
0
0
0
0
0
- Zeros(m,n)
Zeros(2,3)
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
- Ones(m,n)
Ones(2,3)
0
0
0
0
0
0
‫ترانهاده‬
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

‫عملیات آرایه ای‬
‫]‪Z = [ 1 2;1 2;1 2‬‬
‫دو ماتریس باید ابعاد یکسان‬
‫داشته باشند‬
‫‪9‬‬
‫‪9‬‬
‫]‪X = [1 2 3; 1 2 3‬‬
‫]‪Y = [4 5 6; 4 5 6‬‬
‫‪ X+Y‬‬
‫‪5 7‬‬
‫‪5 7‬‬
‫‪ X+Z‬‬
‫!‪Error‬‬
‫‪X*Z‬‬
‫‪12‬‬
‫‪12‬‬
‫‪6‬‬
‫‪6‬‬
‫‪‬‬
‫عملیات آرایه ای نظیر به نظیر‬
‫دو ماتریس باید ابعاد یکسان‬
‫داشته باشند‬
‫‪18‬‬
‫‪18‬‬
‫]‪X = [1 2 3; 1 2 3‬‬
‫]‪Y = [4 5 6; 4 5 6‬‬
‫‪ X.*Y‬‬
‫‪4 10‬‬
‫‪4 10‬‬
‫‪X.^Y‬‬
‫‪32 729‬‬
‫‪32 729‬‬
‫‪1‬‬
‫‪1‬‬
‫‪‬‬
Loops

For variable = expression
Commands
end
Y=0;
for x = 1:10
y=y+1;
end

Y = 10

loops



While expression
command
end
Y=0;
X=10;
while (x~= 0)
x=x-1;
y=y+1;
end
Y= 10;
Flow Control

If logical expression
command
elseif logical command
command
else
command
end
Flow Control

Switch expression
case test expression1
command
case test expression2
command
…
otherwise
command
end
‫‪M-Files‬‬
‫‪‬‬
‫برنامه های بزرگ‬
‫‪‬‬
‫حجم زیاد دستورات‬
‫‪‬‬
‫دستورهای تکراری‬
‫‪‬‬
‫ایجاد یک ‪M-file‬‬
‫‪‬‬
‫قرار دادن آن در پوشه ی جاری‬
‫‪‬‬
‫فراخوانی آن ‪ :‬نوشتن نام ‪ M-File‬به عنوان دستور در‬
‫استفاده از ‪M-Files‬‬
‫‪.Command window‬‬
‫‪‬‬
‫‪ :%‬به منظور اضافه کردن ‪ Comment‬به برنامه‬
User Defined ‫توابع‬
Function [ output variables ] = name(input variables);
‫مثال‬
function[y]=test(x);
y=0;
while(x~=0)
x=x-1;
y=y+1;
end
return;
.‫ یکسان باشد‬m-file ‫ نام تابع باید با نام‬:‫نکته‬
 Y = test(10);
‫اجرا در خط فرمان‬
 Y = 10;
‫خروجی‬



Plot





X= linspace(0,2*pi,40);
Y= sin(X);
Plot(X, Y);
Z= cos(X);
Plot(X,Y,X,Z);
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]);

Plot(con’t)
‫دستوراتی جهت تکمیل نمودارها‬

Xlable(‘statement’);

Ylable(‘statement’);

Title(‘statement’);

Text(variables , statements);

Legend(‘statement’ , ’statement’,…);

Hold on

Hold off

Figure

Close

Grid

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);

‫تمرینات‬
‫‪‬‬
‫‪:Full Documentation‬‬
‫‪ .1‬فایل ‪ ،pdf‬شامل توضیحات و ‪ figure‬ها‬
‫‪ M-file .2‬ها در پوشه جداگانه‬
‫‪‬‬
‫قرار دادن مستندات فوق در پوشه ای با عنوان فرمت زیر‪:‬‬
‫‪Student number # assignment number‬‬
‫‪‬‬
‫‪Example :‬‬
‫‪‬‬
‫‪82120406#2‬‬
‫‪‬‬
‫ارسال تمرینات به ‪[email protected]‬‬
‫خسته نباشید‬