Transcript ppsx
Slide 1
محاسبات عددی در مهندس ی پزشکی
جلسه اول و دوم
مقدمه ای بر نرم افزار MATLAB
گلناز بغدادی
1391
Slide 2
کاربرد های نرم افزار ()MATLAB
نرم افزار MATLABمحیطی برای برنامه نویس ی سطح باال جهت حل مسائل علمی و مهندس ی به
شمار می رود.
این نرم افزار امکانات محاسبات متعدد ،رسم نمودار و تصاویر و ...را در اختیار کاربر قرار می دهد.
اين نرم افزار داراي يك كتابخانه گستردهي از توابع مختلف است که هر کدام از این کتابخانه ها
برای پردازش و بررس ی سیستم ها و داده ها در علوم مختلف طراحی شده اند.
برنامه های
توابع موجود در این کتابخانه ها به کاربر این اجازه را می دهد که بدون نیاز به نوشتن
طوالنی ،انواع مختلفی از شبیه سازی ها را انجام دهند.
Slide 3
صفحه اصلی نرم افزار مطلب
این نرم افزار در نسخه های مختلفی ارائه شده است .ولی به طور کلی بعد از اجرای این نرم افزار صفحه اصلی دارای چند بخش
مهم است که در تمامی نسخه ها با تفاوت ظاهری بسیار ناچیز وجود دارد:
پنجره دستورات
( Command
)Window
فضای کار
Workspace
Slide 4
صفحه اصلی این نرم افزار دارای اجزای بسیار گسترده ای است ولی دو بخش نشان داده شده کاربرد بسیار زیادی دارند:
پنجره دستورات ( : )Command Windowاین پنجره مکانی است که کاربر باید دستورات مورد نظر را درون آن تایپ کند .مکان
تایپ با دو عالمت >> مشخص شده است و مکان نما در جلوی این عالمت >> در حال چشمک زدن است که نشان می دهد ،نرم افزار
آماده دریافت دستور جدید است.
فضای کار ( : )Workspaceدر این فضا تمامی متغیر هایی که در برنامه توسط دستورات ایجاد شده اند نشان داده می شود .در
MATLABمتغیر ها را می توان به صورت برداری ،ماتریس ی تعریف نمود .برای مثال در شکل قبلی یک بردار توسط دستور H=[1 2 3 4
] 5ایجاد شده است .در محیط فضای کار می توان تمامی متغیرهای موجود و ابعاد آنها را مشاهده نمود.
نکته :در صورتی که هر کدام از این پنجره ها بسته شد ،به
منوی viewدر باالی صفحه رفته و با زدن تیک هر کدام
از پنجره ها ،می توان آن پنجره را به نمایش در آورد.
Slide 5
شروع کار با نرم افزار
فرض کنید که می خواهیم تابع ) y=sin(8xرا به کمک نرم افزار رسم کنیم:
ابتدا باید متغیر xرا ایجاد نماییم .برای این منظور به کمک دستورات زیر یک رشته از اعداد مثال 1تا 10را به xنسبت
می دهیم.
;>> x=1:10
(دستور باال باعث تولید اعداد 1تا 10می شود که در متغیر xریخته می شوند)
(دستور باال را تایپ نمایید ،یک بار عالمت ; را در انتها ی دستور قرار دهید و کلید Enterرا بزنید و بار دیگر این عالمت را قرار ندهید چه
اتفاقی می افتد؟)
(بعد از زدن کلید Enterدر پنجره فضای کار ابعاد متغیر xچه مقدار است؟)
بعد به کمک دستور زیر ) sin(8xرا محاسبه کرده و در متغیر yمی ریزیم( .هر متغیری که در خط دستور سمت چپ
مساوی قرار داده شود ،مقدار نهایی محاسبه شده درون آن ریخته می شود)
;)>> y=sin(8*x
(با این دستور تابع داده شده در صورت سوال به ازای مقادیر داده شده ( xیعنی از 1تا ) 10محاسبه شده و در yریخته می شود)
Slide 6
حال اگر بخواهیم این تابع را رسم کنیم از دستور زیر استفاده می شود:
)>> plot (x,y
) >> plot(yیا
(به کمک دستور باال مقادیر xو yبر حسب هم رسم می شوند .یعنی محور افقی مقادیر xو محور عمودی مقادیر ) sin(8xمی شود)
(به جای دستور باال دستور زیر تایپ شود ،چه نتیجه ای مشاهده
می شود؟:
)’>> plot (x, y, ’.
همانطوری که مشاهده می شود تابع ) sin(8xبه ازای مقادیر xاز 1تا 10رسم شده است .ولی این تابع رسم شده دارای شکستگی های زیادی است.
علت این است که مقادیر xیک واحد یک واحد تغییر می کند .برای کوچکتر کردن فواصل تغییرات xاز دستور زیر استفاده می شود:
;>> x=0:0.01:10
به کمک این دستور مقادیر xاز 0تا ، 10هر بار به مقدار 0.01اضافه می شود.
حال مجددا مقدار yرا با دستور داده شده محاسبه نموده و آن را رسم نمایید ،شکل حاصله چه تفاوتی با شکل قبلی دارد؟
Slide 7
ایجاد بردار و ماتریس
a vector
x = [1 2 5 1]
x =
1
2
5
a matrix
1
x = [1 2 3; 5 1 4; 3 2 -1]
x =
1
5
3
transpose
2
1
2
3
4
-1
y = x’
y =
1
2
5
1
Slide 8
مثالهایی دیگر از روش ایجاد بردار و ماتریس
t =1:10
= t
10
9
8
7
5
6
4
3
0.5
1
2
1
k =2:-0.5:-1
= k
-1
-0.5
0
1.5
2
]= [1:4; 5:8
B
= x
4
8
3
7
2
6
1
5
Slide 9
ایجاد بردار و ماتریس از طریق توابع
zeros(M,N)
MxN matrix of zeros
تولید ماتریس تمام صفر
ones(M,N)
MxN matrix of ones
تولید ماتریس تمام یک
x = zeros(1,3)
x =
0
0
0
x = ones(1,3)
x =
1
1
1
rand(M,N)
MxN matrix of uniformly
distributed random
numbers on (0,1)
تولید ماتریس با اعداد تصادفی
x = rand(1,3)
x =
0.9501 0.2311 0.6068
Slide 10
اندیس ماتریس
شروع می شود1 اندیس ماتریس ازMATLAB در محیط
یک عدد صحیح مثبت استMATLAB اندیس ماتریس در محیط
مثال
A(-2), A(0)
Error: ??? Subscript indices must either be real positive integers or logicals.
A(4,2)
Error: ??? Index exceeds matrix dimensions.
Slide 11
اتصال دو ماتریس به هم
x = [1 2], y = [4 5], z=[ 0 0]
A = [ x y]
1
2
4
5
B = [x ; y]
1 2
4 5
C = [x y ;z]
Error:
??? Error using ==> vertcat CAT arguments dimensions are not consistent.
Slide 12
عملگرهای ریاض ی
جمع +
تفریق -
ضرب *
تقسیم /
توان ^
ترانهاده ‘
Slide 13
عملگرهای ماتریس ی
دو ماتریس Aو Bرا به صورت
مقابل در نظر بگیرید
ترانهاده
ضرب
تفریق
جمع
Slide 14
عملگرهای ریاض ی درایه به درایه
ضرب درایه به درایه *.
تقسیم درایه به درایه ./
به توان رساندن درایه به درایه ^.
Slide 15
مثال از عملگرهای ریاض ی درایه به درایه
A = [1 2 3; 5 1 4; 3 2 1]
A=
1 2 3
5 1 4
3 2 -1
x = A(1,:)
x=
c=x./y
d = x .^2
b=
c=
0.33 0.5 -3
d=
y = A(3 ,:)
y=
1 2 3
b = x .* y
3 8 -3
3 4 -1
K= x^2
Erorr:
??? Error using ==> mpower Matrix must be square.
B=x*y
Erorr:
??? Error using ==> mtimes Inner matrix dimensions must agree.
1
4
9
Slide 16
رسم تابع ) sin(xدر 0≤x≤4π
ایجاد یک بردار برای xشامل 100نقطه بین 0 , 4π
;)>>x=linspace(0,4*pi,100
محاسبه تابع ) sin (xبه ازای نقاط تعیین شده برای x
;)>>y=sin(x
1
0.8
0.6
رسم خروجی
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
100
90
80
70
60
50
40
30
20
10
0
-1
)>>plot(y
Slide 17
انواع توابع ریاض ی
انواعی از توابع ریاض ی در نرم افزار MATLABتعریف شده است که در اینجا به تعدادی از آنها اشاره می شود:
کسینوس
)Cos(x
سینوس
)Sin(x
تانژانت
)Tan(x
لگاریتم طبیعی ()ln
)Log(x
لگاریتم در مبنای 10
)Log10(x
تابع نمای ex
)Exp(x
تابع عالمت :اگر xمنفی باشد خروجی ، 1-اگر xمثبت باشد خروجی 1+و اگر x
صفر باشد خروجی صفر است
)Sign(x
ریشه مربع
)Sqrt(x
قدر مطلق یا دامنه عدد مختلط
مقدار
)Abs(x
زاویه عدد مختلط
)Angle(x
مقدار حقیقی عدد مختلط
)Real(x
مقدار موهومی عدد مختلط
)Imag(x
روند کردن اعداد اعشاری به سمت نزدیک ترین ععد صحیح
روند کردن به سمت صفر
)Round(x
)Fix(x
Slide 18
Plot the function e-x/3sin(x) between
0≤x≤4π
Create an x-array of 100 samples between 0
and 4π.
>>x=linspace(0,4*pi,100);
Calculate sin(.) of the x-array
>>y=sin(x);
Calculate e-x/3 of the x-array
>>y1=exp(-x/3);
Multiply the arrays y and y1 correctly
>>y2=y.*y1;
Slide 19
Plot the function e-x/3sin(x) between
0≤x≤4π
Plot the y2-array
>>plot(y2)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
0
10
20
30
40
50
60
70
80
90
100
Slide 20
امکانات رسم
0.7
0.6
0.5
0.4
0.3
plot(.)
Example:
>>x=linspace(0,4*pi,100);
>>y=sin(x);
>>plot(y)
>>plot(x,y)
0.2
0.1
0
-0.1
-0.2
-0.3
0
10
20
30
40
50
60
70
80
90
100
0
10
20
30
40
50
60
70
80
90
100
0.7
0.6
0.5
stem(.)
0.4
0.3
0.2
Example:
>>stem(y)
>>stem(x,y)
0.1
0
-0.1
-0.2
-0.3
Slide 21
امکانات رسم
title(.)
This is the sinus function
1
>>title(‘This is the sinus function’)
0.8
0.6
xlabel(.)
0.4
>>xlabel(‘x (secs)’)
sin(x)
0.2
0
-0.2
-0.4
ylabel(.)
>>ylabel(‘sin(x)’)
-0.6
-0.8
-1
0
10
20
30
40
60
50
x (secs)
70
80
90
100
Slide 22
عملگرهای منطقی
مساوی با ==
نامساوی با =~
کوچکتر از <
بزرگتر از >
کوچکتر و مساوی با =<
بزرگتر و مساوی با =>
ANDعملگر &
ORعملگر |
Slide 23
دستورات ایجاد شرط و حلقه
if
switch
for
while
break
….
Slide 24
if … else if ایجاد شرط با دستور
if (Condition_1)
Matlab Commands
elseif (Condition_2)
Matlab Commands
elseif (Condition_3)
Matlab Commands
else
Matlab Commands
end
مثال
if ((a>3) & (b==5))
Some Matlab Commands;
end
if (a<3)
Some Matlab Commands;
elseif (b~=5)
Some Matlab Commands;
end
if (a<3)
Some Matlab Commands;
else
Some Matlab Commands;
end
Slide 25
Switch ایجاد شرط با دستور
switch
case
switch_expr
case_expr
Matlab Commands;
case {case_expr1,...}
Matlab Commands;
...
otherwise
Matlab Commands;
end
مثال
switch (X+Y)
case 0
M=6
case 1
M = 15
otherwise
error('This is impossible')
end
ایجاد رشته
متنی
method = 'Bilinear';
switch lower(method)
case {'linear','bilinear'}
disp('Method is linear')
case 'cubic'
disp('Method is cubic')
otherwise
disp('Unknown method.')
End
Slide 26
For ایجاد حلقه تکرار با دستور
For i=Index_Array
Matlab Commands
End
مثال
for i=1:100
Some Matlab Commands;
end
for j=1:3:200
Some Matlab Commands;
end
for m=13:-0.2:-21
Some Matlab Commands;
end
for k=[0.1 0.3 -13 12 7 -9.3]
Some Matlab Commands;
end
Slide 27
While ایجاد حلقه تکرار با دستور
while (condition)
Matlab Commands
end
مثال
while ((a>3) & (b==5))
Some Matlab Commands;
end
Slide 28
ایجاد m-file
با کلیک برروی این آیکون می
توان یک m-fileجدید برای
نوشتن و ذخیره دستورات ایجاد
نمود.
• m-fileبا پسوند .mذخیره می شوند
• m-fileیک محیط متنی را برای نوشتن دستورات و ذخیره و اجرای آنها ایجاد می کند
Slide 29
Save file as Denem430.m
با قرار دادن عالمت ”;“ در انتهای هر
دستور نتیجه دستور بعد از نمایش
داده نمی شود.
استفاده از m-file
Slide 30
نوشتن تابع
توابع در واقع m-fileهایی هستند که با یک نام خاص ذخیره شده و با گرفتن یک یا چند ورودی
می توانند یک یا چند خروجی تولید نمایند
برای نوشتن یک تابع یک m-fileجدید باز کرده و در ابتدای m-fileبا نوشتن یکی از
دستورات زیر ،تابع تعریف می شود.
)function out1=functionname(in1
)function out1=functionname(in1,in2,in3
)function [out1,out2]=functionname(in1,in2
)function functionname(in1
function out1=functionname
باید توجه داشت که M-fileبه اسم تابع ( )functionnameذخیره شود .به هنگام
فراخوانی تابع نیز از همان اسم تابع استفاده می شود.
Slide 31
مثالهایی از ایجاد تابع
مثال :1تابعی به صورت ) out=squarer (A, indبنویسید که
اگر شاخص ورودی ( )indبرابر با 1است ،مربع ماتریس ورودی ( )Aرا حساب کند.
و اگر شاخص ورودی ( )indبرابر با 2است ،مربع درایه به درایه ماتریس ورودی ( )Aرا محاسبه نماید.
نام یکسان
Slide 32
مثالهایی از ایجاد تابع
مثال :2تابعی بنویسید که یک آرایه را به
عنوان ورودی بگیرد و مجموعه و حاصلضرب
درایه های آن را به عنوان خروجی بدهد.
این تابع را می توان در یک m-fileدیگر و یا
در همان صفحه دستور MATLABبه
صورت مقابل فراخوانی نمود.
Slide 33
استفاده از helpنرم افزار
با استفاده از یکی از دو دستور زیر می توانید طریقه به کارگیری یک تابع را جستجو کرده و یا با استفاده
از یک کلمه کلیدی توابع مربوط به آن کلمه کلیدی را جستجو نمایید.
>>lookfor keyword
>>help functionname
یا با استفاده از گزینه Helpاز نوار منو محیط helpنرم افزار باز می شود .که در آن می توان انواع
توابع و کلمات کلیدی را جستجو نمود.
محاسبات عددی در مهندس ی پزشکی
جلسه اول و دوم
مقدمه ای بر نرم افزار MATLAB
گلناز بغدادی
1391
Slide 2
کاربرد های نرم افزار ()MATLAB
نرم افزار MATLABمحیطی برای برنامه نویس ی سطح باال جهت حل مسائل علمی و مهندس ی به
شمار می رود.
این نرم افزار امکانات محاسبات متعدد ،رسم نمودار و تصاویر و ...را در اختیار کاربر قرار می دهد.
اين نرم افزار داراي يك كتابخانه گستردهي از توابع مختلف است که هر کدام از این کتابخانه ها
برای پردازش و بررس ی سیستم ها و داده ها در علوم مختلف طراحی شده اند.
برنامه های
توابع موجود در این کتابخانه ها به کاربر این اجازه را می دهد که بدون نیاز به نوشتن
طوالنی ،انواع مختلفی از شبیه سازی ها را انجام دهند.
Slide 3
صفحه اصلی نرم افزار مطلب
این نرم افزار در نسخه های مختلفی ارائه شده است .ولی به طور کلی بعد از اجرای این نرم افزار صفحه اصلی دارای چند بخش
مهم است که در تمامی نسخه ها با تفاوت ظاهری بسیار ناچیز وجود دارد:
پنجره دستورات
( Command
)Window
فضای کار
Workspace
Slide 4
صفحه اصلی این نرم افزار دارای اجزای بسیار گسترده ای است ولی دو بخش نشان داده شده کاربرد بسیار زیادی دارند:
پنجره دستورات ( : )Command Windowاین پنجره مکانی است که کاربر باید دستورات مورد نظر را درون آن تایپ کند .مکان
تایپ با دو عالمت >> مشخص شده است و مکان نما در جلوی این عالمت >> در حال چشمک زدن است که نشان می دهد ،نرم افزار
آماده دریافت دستور جدید است.
فضای کار ( : )Workspaceدر این فضا تمامی متغیر هایی که در برنامه توسط دستورات ایجاد شده اند نشان داده می شود .در
MATLABمتغیر ها را می توان به صورت برداری ،ماتریس ی تعریف نمود .برای مثال در شکل قبلی یک بردار توسط دستور H=[1 2 3 4
] 5ایجاد شده است .در محیط فضای کار می توان تمامی متغیرهای موجود و ابعاد آنها را مشاهده نمود.
نکته :در صورتی که هر کدام از این پنجره ها بسته شد ،به
منوی viewدر باالی صفحه رفته و با زدن تیک هر کدام
از پنجره ها ،می توان آن پنجره را به نمایش در آورد.
Slide 5
شروع کار با نرم افزار
فرض کنید که می خواهیم تابع ) y=sin(8xرا به کمک نرم افزار رسم کنیم:
ابتدا باید متغیر xرا ایجاد نماییم .برای این منظور به کمک دستورات زیر یک رشته از اعداد مثال 1تا 10را به xنسبت
می دهیم.
;>> x=1:10
(دستور باال باعث تولید اعداد 1تا 10می شود که در متغیر xریخته می شوند)
(دستور باال را تایپ نمایید ،یک بار عالمت ; را در انتها ی دستور قرار دهید و کلید Enterرا بزنید و بار دیگر این عالمت را قرار ندهید چه
اتفاقی می افتد؟)
(بعد از زدن کلید Enterدر پنجره فضای کار ابعاد متغیر xچه مقدار است؟)
بعد به کمک دستور زیر ) sin(8xرا محاسبه کرده و در متغیر yمی ریزیم( .هر متغیری که در خط دستور سمت چپ
مساوی قرار داده شود ،مقدار نهایی محاسبه شده درون آن ریخته می شود)
;)>> y=sin(8*x
(با این دستور تابع داده شده در صورت سوال به ازای مقادیر داده شده ( xیعنی از 1تا ) 10محاسبه شده و در yریخته می شود)
Slide 6
حال اگر بخواهیم این تابع را رسم کنیم از دستور زیر استفاده می شود:
)>> plot (x,y
) >> plot(yیا
(به کمک دستور باال مقادیر xو yبر حسب هم رسم می شوند .یعنی محور افقی مقادیر xو محور عمودی مقادیر ) sin(8xمی شود)
(به جای دستور باال دستور زیر تایپ شود ،چه نتیجه ای مشاهده
می شود؟:
)’>> plot (x, y, ’.
همانطوری که مشاهده می شود تابع ) sin(8xبه ازای مقادیر xاز 1تا 10رسم شده است .ولی این تابع رسم شده دارای شکستگی های زیادی است.
علت این است که مقادیر xیک واحد یک واحد تغییر می کند .برای کوچکتر کردن فواصل تغییرات xاز دستور زیر استفاده می شود:
;>> x=0:0.01:10
به کمک این دستور مقادیر xاز 0تا ، 10هر بار به مقدار 0.01اضافه می شود.
حال مجددا مقدار yرا با دستور داده شده محاسبه نموده و آن را رسم نمایید ،شکل حاصله چه تفاوتی با شکل قبلی دارد؟
Slide 7
ایجاد بردار و ماتریس
a vector
x = [1 2 5 1]
x =
1
2
5
a matrix
1
x = [1 2 3; 5 1 4; 3 2 -1]
x =
1
5
3
transpose
2
1
2
3
4
-1
y = x’
y =
1
2
5
1
Slide 8
مثالهایی دیگر از روش ایجاد بردار و ماتریس
t =1:10
= t
10
9
8
7
5
6
4
3
0.5
1
2
1
k =2:-0.5:-1
= k
-1
-0.5
0
1.5
2
]= [1:4; 5:8
B
= x
4
8
3
7
2
6
1
5
Slide 9
ایجاد بردار و ماتریس از طریق توابع
zeros(M,N)
MxN matrix of zeros
تولید ماتریس تمام صفر
ones(M,N)
MxN matrix of ones
تولید ماتریس تمام یک
x = zeros(1,3)
x =
0
0
0
x = ones(1,3)
x =
1
1
1
rand(M,N)
MxN matrix of uniformly
distributed random
numbers on (0,1)
تولید ماتریس با اعداد تصادفی
x = rand(1,3)
x =
0.9501 0.2311 0.6068
Slide 10
اندیس ماتریس
شروع می شود1 اندیس ماتریس ازMATLAB در محیط
یک عدد صحیح مثبت استMATLAB اندیس ماتریس در محیط
مثال
A(-2), A(0)
Error: ??? Subscript indices must either be real positive integers or logicals.
A(4,2)
Error: ??? Index exceeds matrix dimensions.
Slide 11
اتصال دو ماتریس به هم
x = [1 2], y = [4 5], z=[ 0 0]
A = [ x y]
1
2
4
5
B = [x ; y]
1 2
4 5
C = [x y ;z]
Error:
??? Error using ==> vertcat CAT arguments dimensions are not consistent.
Slide 12
عملگرهای ریاض ی
جمع +
تفریق -
ضرب *
تقسیم /
توان ^
ترانهاده ‘
Slide 13
عملگرهای ماتریس ی
دو ماتریس Aو Bرا به صورت
مقابل در نظر بگیرید
ترانهاده
ضرب
تفریق
جمع
Slide 14
عملگرهای ریاض ی درایه به درایه
ضرب درایه به درایه *.
تقسیم درایه به درایه ./
به توان رساندن درایه به درایه ^.
Slide 15
مثال از عملگرهای ریاض ی درایه به درایه
A = [1 2 3; 5 1 4; 3 2 1]
A=
1 2 3
5 1 4
3 2 -1
x = A(1,:)
x=
c=x./y
d = x .^2
b=
c=
0.33 0.5 -3
d=
y = A(3 ,:)
y=
1 2 3
b = x .* y
3 8 -3
3 4 -1
K= x^2
Erorr:
??? Error using ==> mpower Matrix must be square.
B=x*y
Erorr:
??? Error using ==> mtimes Inner matrix dimensions must agree.
1
4
9
Slide 16
رسم تابع ) sin(xدر 0≤x≤4π
ایجاد یک بردار برای xشامل 100نقطه بین 0 , 4π
;)>>x=linspace(0,4*pi,100
محاسبه تابع ) sin (xبه ازای نقاط تعیین شده برای x
;)>>y=sin(x
1
0.8
0.6
رسم خروجی
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
100
90
80
70
60
50
40
30
20
10
0
-1
)>>plot(y
Slide 17
انواع توابع ریاض ی
انواعی از توابع ریاض ی در نرم افزار MATLABتعریف شده است که در اینجا به تعدادی از آنها اشاره می شود:
کسینوس
)Cos(x
سینوس
)Sin(x
تانژانت
)Tan(x
لگاریتم طبیعی ()ln
)Log(x
لگاریتم در مبنای 10
)Log10(x
تابع نمای ex
)Exp(x
تابع عالمت :اگر xمنفی باشد خروجی ، 1-اگر xمثبت باشد خروجی 1+و اگر x
صفر باشد خروجی صفر است
)Sign(x
ریشه مربع
)Sqrt(x
قدر مطلق یا دامنه عدد مختلط
مقدار
)Abs(x
زاویه عدد مختلط
)Angle(x
مقدار حقیقی عدد مختلط
)Real(x
مقدار موهومی عدد مختلط
)Imag(x
روند کردن اعداد اعشاری به سمت نزدیک ترین ععد صحیح
روند کردن به سمت صفر
)Round(x
)Fix(x
Slide 18
Plot the function e-x/3sin(x) between
0≤x≤4π
Create an x-array of 100 samples between 0
and 4π.
>>x=linspace(0,4*pi,100);
Calculate sin(.) of the x-array
>>y=sin(x);
Calculate e-x/3 of the x-array
>>y1=exp(-x/3);
Multiply the arrays y and y1 correctly
>>y2=y.*y1;
Slide 19
Plot the function e-x/3sin(x) between
0≤x≤4π
Plot the y2-array
>>plot(y2)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
0
10
20
30
40
50
60
70
80
90
100
Slide 20
امکانات رسم
0.7
0.6
0.5
0.4
0.3
plot(.)
Example:
>>x=linspace(0,4*pi,100);
>>y=sin(x);
>>plot(y)
>>plot(x,y)
0.2
0.1
0
-0.1
-0.2
-0.3
0
10
20
30
40
50
60
70
80
90
100
0
10
20
30
40
50
60
70
80
90
100
0.7
0.6
0.5
stem(.)
0.4
0.3
0.2
Example:
>>stem(y)
>>stem(x,y)
0.1
0
-0.1
-0.2
-0.3
Slide 21
امکانات رسم
title(.)
This is the sinus function
1
>>title(‘This is the sinus function’)
0.8
0.6
xlabel(.)
0.4
>>xlabel(‘x (secs)’)
sin(x)
0.2
0
-0.2
-0.4
ylabel(.)
>>ylabel(‘sin(x)’)
-0.6
-0.8
-1
0
10
20
30
40
60
50
x (secs)
70
80
90
100
Slide 22
عملگرهای منطقی
مساوی با ==
نامساوی با =~
کوچکتر از <
بزرگتر از >
کوچکتر و مساوی با =<
بزرگتر و مساوی با =>
ANDعملگر &
ORعملگر |
Slide 23
دستورات ایجاد شرط و حلقه
if
switch
for
while
break
….
Slide 24
if … else if ایجاد شرط با دستور
if (Condition_1)
Matlab Commands
elseif (Condition_2)
Matlab Commands
elseif (Condition_3)
Matlab Commands
else
Matlab Commands
end
مثال
if ((a>3) & (b==5))
Some Matlab Commands;
end
if (a<3)
Some Matlab Commands;
elseif (b~=5)
Some Matlab Commands;
end
if (a<3)
Some Matlab Commands;
else
Some Matlab Commands;
end
Slide 25
Switch ایجاد شرط با دستور
switch
case
switch_expr
case_expr
Matlab Commands;
case {case_expr1,...}
Matlab Commands;
...
otherwise
Matlab Commands;
end
مثال
switch (X+Y)
case 0
M=6
case 1
M = 15
otherwise
error('This is impossible')
end
ایجاد رشته
متنی
method = 'Bilinear';
switch lower(method)
case {'linear','bilinear'}
disp('Method is linear')
case 'cubic'
disp('Method is cubic')
otherwise
disp('Unknown method.')
End
Slide 26
For ایجاد حلقه تکرار با دستور
For i=Index_Array
Matlab Commands
End
مثال
for i=1:100
Some Matlab Commands;
end
for j=1:3:200
Some Matlab Commands;
end
for m=13:-0.2:-21
Some Matlab Commands;
end
for k=[0.1 0.3 -13 12 7 -9.3]
Some Matlab Commands;
end
Slide 27
While ایجاد حلقه تکرار با دستور
while (condition)
Matlab Commands
end
مثال
while ((a>3) & (b==5))
Some Matlab Commands;
end
Slide 28
ایجاد m-file
با کلیک برروی این آیکون می
توان یک m-fileجدید برای
نوشتن و ذخیره دستورات ایجاد
نمود.
• m-fileبا پسوند .mذخیره می شوند
• m-fileیک محیط متنی را برای نوشتن دستورات و ذخیره و اجرای آنها ایجاد می کند
Slide 29
Save file as Denem430.m
با قرار دادن عالمت ”;“ در انتهای هر
دستور نتیجه دستور بعد از نمایش
داده نمی شود.
استفاده از m-file
Slide 30
نوشتن تابع
توابع در واقع m-fileهایی هستند که با یک نام خاص ذخیره شده و با گرفتن یک یا چند ورودی
می توانند یک یا چند خروجی تولید نمایند
برای نوشتن یک تابع یک m-fileجدید باز کرده و در ابتدای m-fileبا نوشتن یکی از
دستورات زیر ،تابع تعریف می شود.
)function out1=functionname(in1
)function out1=functionname(in1,in2,in3
)function [out1,out2]=functionname(in1,in2
)function functionname(in1
function out1=functionname
باید توجه داشت که M-fileبه اسم تابع ( )functionnameذخیره شود .به هنگام
فراخوانی تابع نیز از همان اسم تابع استفاده می شود.
Slide 31
مثالهایی از ایجاد تابع
مثال :1تابعی به صورت ) out=squarer (A, indبنویسید که
اگر شاخص ورودی ( )indبرابر با 1است ،مربع ماتریس ورودی ( )Aرا حساب کند.
و اگر شاخص ورودی ( )indبرابر با 2است ،مربع درایه به درایه ماتریس ورودی ( )Aرا محاسبه نماید.
نام یکسان
Slide 32
مثالهایی از ایجاد تابع
مثال :2تابعی بنویسید که یک آرایه را به
عنوان ورودی بگیرد و مجموعه و حاصلضرب
درایه های آن را به عنوان خروجی بدهد.
این تابع را می توان در یک m-fileدیگر و یا
در همان صفحه دستور MATLABبه
صورت مقابل فراخوانی نمود.
Slide 33
استفاده از helpنرم افزار
با استفاده از یکی از دو دستور زیر می توانید طریقه به کارگیری یک تابع را جستجو کرده و یا با استفاده
از یک کلمه کلیدی توابع مربوط به آن کلمه کلیدی را جستجو نمایید.
>>lookfor keyword
>>help functionname
یا با استفاده از گزینه Helpاز نوار منو محیط helpنرم افزار باز می شود .که در آن می توان انواع
توابع و کلمات کلیدی را جستجو نمود.