بخشی از پاورپوینت
اسلاید 1 :
آموزش نرم افزار MATLAB بخش 2
بسم الله الرّحمن الرّحيم
اسلاید 2 :
خلاصه مطالب
نکاتی بیشتر در مورد کار با ماتریس ها (آرایه ها).
رشته (String)
تعریف ساختار (Structure).
تعریف آرایه سلولی (Cell array).
آشنایی با Symbolic math toolbox
توابع مربوط به زمان اجرا
اسلاید 3 :
کار با ماتریس (آرایه)
تعریف آرایه:
A=[1 2 3] تعریف آرایه 3*1 (بردار)
X=[1; 2; 3] تعریف آرایه1*3 (بردار)
Y=[1 2 3;4 5 6] تعریف آرایه 3*2
برای دسترسی به یک عنصر خاص از اندیس استفاده می کنیم. در MATLAB اندیس از 1 شروع می شود.
A(1,1) یا A(1) A(1,2) یا A(2) A(1,3) یا A(3)
X(1,1) یا X(1) X(2,1) یا X(2) X(3,1) یا X(3)
Y( 1,1) Y(2,2) Y(2,3)
Y(:,1) تمام عناصر ستون 1 را بر می گرداند. یعنی [1;4]
Y(1,1:2) عناصر Y(1,1) و Y(1,2) را برمی گرداند.
Y(1:2,1:2) عناصر Y(1,1) ، Y(2,1) ، Y(1,2) و Y(2,2) را بر می گرداند.
اسلاید 4 :
الحاق عنصر (عناصر) به آرایه
الحاق عناصر به آرایه
X=[1 2 3];
Y=[X -5]; Y=[1 2 3 -5] می شود.
می توان نوشت: X=[X -5] در این صورت X=[1 2 3 -5] می شود.
اگر X=[1 2 3] و بنویسیم Y=[X; -3 4 5] در این صورت :
اگر X=[1 2 3] و بنویسیم Y=[X;-5] خطا رخ می دهد. باید حتما یک سطر کامل مشخص کنیم.
اسلاید 5 :
دو تابع برای الحاق عناصر
Horzcat: اتصال عناصر به صورت افقی (ستونی)
Horzcat([1 2 3],[4 5 6])=C
C=[1 2 3 4 5 6]
Vertcat: اتصال عناصر به صورت عمودی(سطری)
C=vertcat([1 2 3],[4 5 6])
معادل با C=[1 2 3;4 5 6] است.
اسلاید 6 :
محاسبه مجموع و میانگین آرایه
تابع sum برای محاسبه مجموع عناصر آرایه به کار می رود.
اگر یک بردار داشته باشیم مثلا x=[1 2 3] ، sum(x) مجموع عناصر آن را بر می گرداند.
اگر بردار نباشد مثلا x=[1 2 3;4 5 6] ، sum(x) مجموع عناصر هر ستون را به طور مجزا حساب می کند و [5 7 9] را بر می گرداند. با نوشتن به صورت sum(sum(x)) مجموع همه عناصر حساب می شود.
Sum(x,1) معادل sum(x) عمل می کند.
Sum(x,2) مجموع هر سطر را به طور مجزا محاسبه می کند. در مثال بالا [6;15]
برای آرایه های بیش از 2 بعد می توانیم sum(x,3) ، sum(x,4) و.. هم داشته باشیم.
تابع mean برای محاسبه میانگین آرایه به کار می رود.
طرز نوشتن و کار با ان دقیقا مشابه sum است . فقط در اینجا به جای مجموع میانگین محاسبه می شود.
اسلاید 7 :
محاسبه ابعاد و طول
تابع size برای محاسبه ابعاد به کار می رود:
اگر X آرایه دو بعدی 4*3 باشد Size(X) تعداد سطر و ستون آن را بر می گرداند یعنی 3 و 4
برای آرایه های با ابعاد بالاتر نیز به همین ترتیب انجام می شود.
تابع length: برای بردار طول را برمی گرداند و برای آرایه ها بزرگترین بعد را می دهد. مثلا اگر X 5*7*9 باشد 9 را برمی گرداند.
اسلاید 8 :
جستجوی مقدار در آرایه
تابع find برای جستجوی عناصر در آرایه به کار می رود.
X=[1 2 -3;4 -9 0]
[a b]=find(X==-3)
در این صورت a=1 (شماره سطر عنصر 3-) و b=3 (شماره ستون) می شود.
X=[1 2 -3;4 -3 0]
در این صورت a=[2;1] و b=[2;3] می شود.
اسلاید 9 :
چند تابع مفید دیگر
rand: تولید نمونه ها تصادفی بین [0,1] با توزیع یکنواخت
rand(2,3) یک آرایه 3*2 از مقادیر تصادفی تولید می کند.
rand(4,5,10) یک آرایه 10*5*4 از مقادیر تصادفی تولید می کند.
randn : تولید نمونه های تصادفی از توزیع نرمال استاندارد
طرز استفاده دقیقا مشابه rand است.
توابع ones و zeros: در جلسه قبل توضیح داده شد.
اسلاید 10 :
رشته (String)
رشته مجموعه ای از کاراکترها می باشد.
رشته با علامت ‘ ‘ نشان داده می شود.
S='Ali'
در واقع S به صورت یک آرایه کاراکتری 3*1 در نظر گرفته می شود.
S=[S ' hassan']
S=‘Ali hassan’ می شود.
دو تابع num2str و str2num به ترتیب برای تبدیل عدد به رشته و بالعکس به کار می رود.
num2str(23)
D='123'
Str2num(D)
اسلاید 11 :
ساختار(Structure)
مقدمه: ممکن است در مواردی که بخواهیم با آرایه های با اندازه متفاوت کار کنیم. دو مفهوم structure و Cell array در انجام این کار به ما کمک می کنند.
مثال از تعریف structure:
St.f1=[1 2 3]
St.f2=[3 4;5 6]
St.f3=‘Ali’
با این سه دستور یک structure به نام STبا سه field f1، f2 و تعریف کرده ایم.
اگر بنویسیم St.f1 آرایه [1 2 3] برگشت داده می شود.
اگر بنویسیم St.f1(2) عنصر دوم St.f1 برگشت داده می شود.
اسلاید 12 :
آرایه سلولی (Cell array)
یک Cell array به نام A را می توان به صورت زیر تعریف کرد:
A{1}=[1 2 3];
A{2}=[3 4;5 6]
A{3}=‘Ali’
در این صورت یک Cell array با اندازه 3 ایجاد کرده ایم.
اگر بنویسیم A{1} آرایه [1 2 3] برگشت داده می شود.
اگر بنویسیم A{2}(1,2) عدد 4 برگشت داده می شود.
اسلاید 13 :
آشنایی با symbolic math toolbox
برای کارهایی که نیاز به کار با حروف و سمبل ها دارد استفاده می شود: مشتق و انتگرال گیری نامعین و معین ، تعریف و کار روی چند جمله ایها ، حل معادلات و..
اسلاید 14 :
تعریف سمبل :
syms x; سمبل x را تعریف می کند.
syms x y : دو سمبل x و y را تعریف می کند.
syms x y
y=x^2+1
تابع subs یک مقدار را در سمبل قرار می دهد.
subs(y,2)
حاصل 5 می شود.
اسلاید 15 :
syms x y z
z=x+y
subs(z,x,2)
حاصل برابر 2+y می شود.
دستور سوم را می توان به صورت subs(z,{x,y},{1,2}) نوشت. در این صورت x=1 و y=2 می شود.
اسلاید 16 :
محاسبه مشتق
تابع diff برای مشتق گیری و تابع int برای انتگرال استفاده می شود.
syms x y
y=x^2
diff(y)
2*x برمی گردد.
syms x y z
Z=x+x*y
diff(z,x)
diff(z,y)
اولی مشتق را بر حسب x حساب می کند. یعنی 1+y را برمی گرداند.
دومی مشتق را بر حسب y حساب می کند. یعنی x را برمی گرداند.
اسلاید 17 :
محاسبه انتگرال نامعین و معین
از تابع int استفاده می شود.
syms x y z
y=x+1
z=int(y)
حاصل 1/2*x^2+x خواهد شد.
برای انتگرال معین:
syms x y
y=x+1
z=int(y,1,2)
انتگرال معین از 1 تا 2 حساب می شود.
اسلاید 18 :
محاسبه ریشه
از تابع solve استفاده می شود.
syms x;
z=solve(x^2-1)
1- و 1 برگشت داده می شود.
z=solve(x^2+1)
i و –i برگشت داده می شود.
اسلاید 19 :
محاسبه زمان اجرای دستورات
اگر قبل از مجموعه ای از دستورات جمله tic و بعد از نوشتن آنها جمله toc را بنویسم علاوه بر اجرای دستورات زمان اجرای کلی آنها هم نشان داده می شود.
اگر قبل از مجموعه ای از دستورات جمله profile on و بعد از آنها جمله profile report قرار دهیم زمان اجرای هر دستور در یک سری فایلهای html نشان داده خواهد شد. به علاوه برای توابع زمان اجرای دستورات داخلی آنها هم نشان داده می شود.
اسلاید 20 :
profile on
syms x;
solve(x^2-1);
profile report