310 likes | 538 Views
سیگنال ها و سیستم ها دانشگاه صنعتی شریف پائیز 86 ارائه دهنده : ریحانه جباروند. آموزش مقدمات MATLAB. نمای کلی ارائه. محیط کاری MATLAB متغیرها آرایه ها Loops Flow Control M-Files Plotting. محیط کاری MATLAB. Command Window : محل وارد کردن دستورات برای پردازش توسط MATLAB
E N D
سیگنال ها و سیستم ها دانشگاه صنعتی شریف پائیز 86 ارائه دهنده : ریحانه جباروند آموزش مقدمات MATLAB
نمای کلی ارائه • محیط کاری MATLAB • متغیرها • آرایه ها • Loops • Flow Control • M-Files • Plotting
محیط کاری MATLAB • Command Window: محل وارد کردن دستورات برای پردازش توسط MATLAB • Command History Window: دستوراتی که قبلا در پنجره Command اجرا شده اند را نگهداری می کند. • Current Directory: GUI مورد نیاز برای تغئیر دادن پوشه ی جاری و فایل های MATLAB • Workspace: متغرهای تعریف شده در طول برنامه را نشان می دهد.
محیط کاری MATLAB • دستورات who و whos : مشاهده ی اطلاعات workspace در command window. • دستور clear clear clear name clc • دستور help help command helpwin Lookfor keyword
متغیرها • Case sensitive • حداکثر 31 کاراکتر • ابتدای نام متغیرها حتما باید حرف باشد. How_about_this_variable_name • حروف + اعداد + “_“ • کلمات رزرو شده: for، end، if، function، return،case، continue، persistent، global، try، catch
متغیرها • انتساب یک مقدار به عبارت: X = 1 X = 1+2+3 Y = X+1 Z = X+Y • عدم مشاهده ی نتیجه پردازش در Command Window X = 1 قرار دادن ; در انتهای عبارت مانع از نمایش نتایج می شود X = 1;
متغرهای ویژه • Inf: به جای مقدار بی نهایت (1/0) • Nan: Not a Number – جایگزین مقدار غیر عددی (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 7 8 9 10 11 12 آرایه ای با 4 سطر و 3 ستون
اندیس گذاری آرایه ها • ذخیره سازی آرایه به صورت ستونی است. • برای دسترسی به یک عنصر، اندیس آن را بین ( ) قرار می دهیم. • اندیس آرایه از 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) 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
دستورهای مفید • 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) - 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
ترانهاده • 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
عملیات آرایه ای 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] دو ماتریس باید ابعاد یکسان داشته باشند
عملیات آرایه ای نظیر به نظیر 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 دو ماتریس باید ابعاد یکسان داشته باشند
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-Files • دستورهای تکراری • ایجاد یک M-file • قرار دادن آن در پوشه ی جاری • فراخوانی آن : نوشتن نام M-File به عنوان دستور در 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([xminxmaxyminymax]); • 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: • فایل pdf، شامل توضیحات و figure ها • M-file ها در پوشه جداگانه • قرار دادن مستندات فوق در پوشه ای با عنوان فرمت زیر: • Student number # assignment number • Example : 82120406#2 • ارسال تمرینات به ce40242@gmail.com