صفحه 1:
محاسبات عددی در میندسی پزشکی
جلسه اول و دوم
مقدمه ای بر نرم افزار 000۷۵
گلناز بغدادی
0660
داوس
صفحه 2:
لسو
کاربرد هاى نرم افزار (MATLAB)
#نرم افزار 1811.613 محيطى براى برنامه نويسى سطح بالا جبت حل مسائل
علمى و ميندسى به شمار مى رود.
#اين نرم افزار امكانات محاسبات متعدد. رسم نمودار و تصاوير و ... را در اختيار
كاربر قرار مى دهد.
©اين نرم افزار داراى يك كتابخانه كسترددى از توابع مختلف است كه هر كدام از
اين كتابخانه ها برای پردازش و بررسی سیستم ها و داده ها در علوم مختلف
طراحی شده اند.
#توابع موجود در این کتابخانه ها به کاربر اين اجازه را می دهد که بدون نیاز به
نوشتن برنامه های طولانی. انواع مختلفی از شبیه سازی ها را انجام دهند.
صفحه 3:
این نرم افزار در نسخه های مختلفی ارائه شده است. ولی به طور کلی بعد از اجرای اين نرم افزار صفحه
اصلی دارای چند بخش میم است که در تمامی نسخه ها با تفاوت ظاهری بسیار ناچیز وجود دارد:
ne
Fie Edt ew Web Window Hep
هاه دهده م اهمه
مهن میت | چ ا
ی
Using Toolbox Path Cache, Type “help vool
& ۵ | ۲۲ 23 50“
وعم ورن شع رن ابا اس
ی یه Bee To get stacted, select "HATIAD Help" مسدم]| | فض عر
Workspace | | an xs (Window
]2345 ]عه جد
صفحه 4:
صفحه اصلی این نرم افزار دارای اجزای بسیار گسترده ای است ولی دو بخش نشان داده شده کاربر:
بسیار زیادی دارند:
(Command Window) esljgiws opau © اين پنجره مکانی است که کاریر باید دستورات مورد نظر را
درون آن تایپ کند. مکان تایپ با دو علامت > > مشخص شده است و مکان نما در جلوی این علامت > > در حال
چشمک زدن است که نشان می دهد . نرم افزار آماده دریافت دستور جدید است.
© فضای کار (1۷015300) : در اين فضا تمامی متفر هایی که در برنامه توسط دستورات ایجاد شده اند نشان
داده می شود. در 1/171/473 [متفیر ها را می توان به صورت برداری. ماتریسی تعریف نمود. برای مثال در شکل
قبلی یک بردار توسط دستور [5 4 3 2 1]-۴1 ایجاد شده است. در محیط فضای کار می توان تمامی متفیرهای
موجود و ابعاد آنها را مشاهده نمود.
نکته: در صورتی که هر کدام از
هنوتب ی
MEY commentary
بسته شد. به منسوی ۷161۷ در بالای صفحه
۷۰ مد هت هم
واه
رفته و با زدن تیک هر کدام از پنجره ها. می ۳ vainch ead 8
Pile
توان آن پنجره را به نمايش در آورد.
Hep
صفحه 5:
شروع کار با نرم افزار
#فرض كنيد كه مى خواهيم y=sin(8x) ab را به کمک نرم اقزار رسم کنیم:
© ابتدا باید متغیر 16 را ایجاد تماییم. برای این منظور به کمک دستورات زیر یک رشته از اعداد مثلا ۱ تا
۰ را به ا نسبت می دهیم.
x=1:10; >>
(دستور بالا باعث تولید اعداد | تا ۱۰ می شود که در متغیر »2 ریخته می شوند)
(دستور بالا را تایپ نمایید. یک بار علامت ز را در انتها ی دستور قرار دهید و کلید 1310101 را بزنید و بار
دیکر ان علامت را قرار ندهید چه اتفاقی می افتد؟)
(بعد از زدن کلید Enter 29 پنجره فضای کار ابعاد متغیر ۷ چه مقدار است؟)
* بعد به کمک دستور زیر (810) 518 را محاسبه کرده و در متغير /[ می ریزیم. (هر متثیری که در
خط دستور سمت چپ مساوی قرار داده شود. مقدار نبایی محاسبه شده درون آن ريخته مى شود)
y=sin(8*x); >>
(ب این دستور تابع داده شده در صورت سوال به ازای مقادیر داده شده 6 (یعنی از ۱ تا ۱۰ ) محاسبه شده و
ery as شوج
صفحه 6:
© حال اكر بخواهيم اين تابع را رسم کنیم از دستور زیر استفاده می شود:
plot (x,y) >>
plot(y) >> &
(به کمک دستور بالا مقادیر لاو /ا بر حسب هم رسم می شوند. یعنی محور افقی مقادیر و محور عمودی مقادیر
(«510)8 می شود)
1
3
(به جای دستور بالا دستور زیر تایپ شود. چه نتیجه | ۱
ای مشاهده می شود؟: |
0 8 8 4 2 3
>> plot (x, y,”)
همانطوری که مشاهده می شود SiN(BX) abi به ازای مقادیر از ۱ تا ۱۰ زسم شده است. ولی اين تیع رسم شده دارای
شكستكى هاى زيادى است. علت اين است كه مقادير لايك واحد يك واحد تغيبر مى كند. براى كوجكتر كردن فواصل تغيبرات
از دستور زیر استفاده می شود:
>> x=0:0.01:10;
تا ۱۰ .هر بار یه مقدار ۰.۰۱ اضافه می شود. ۰ SIX به کمک این دستور مقادیر
حال مجددا مقدار 1 را با دستور داده شده محاسبه نموده و آن را رسم نمایید. شکل حاصله چه تفاوتی با شکل
قبلی دارد؟
صفحه 7:
ایجاد بردار و ماتریس
BUN
25 1
1
1123: 514232 ST)
3
4
1
®avector x
1 28a:
®amatrix x
2
1
2
woe
® transpose y =x’
صفحه 8:
هه Or 8 08ل و 29 :1
لب ولد 9 82 2 1249 2
]1:4: 5:8[
u
ON
صفحه 9:
ایجاد بردار و ماتریس از طریق توابع
© zeros(M,N) MxN matrix of zeros
xX = zeros(1,3)
* تولید ماتریس تمام صفر xe
0 0
© ones(M,N) MxN matrix of ones
9 تولید ماتریس تمام یک xX = ones(1,3)
x=
1 1
©yand(M,N) MxN matrix of
uniformly distributed x = rand(1,3)
random numbers حير
on (0,1) a
8 0.2311 0.9501 تولید ماتریس با اعداد تصادفی 6
صفحه 10:
انديس ماتریس
* در محیط ۸1۸13 اندیس ماتریس از | شروع می شود
© انديس ماتريس در محيط 1/1/1111 يى عدد صحيح مثبت است
>> AB) >> AG,2) [>> a@s) >> AG:2,2)
3 5 3 |e _— وس ans =
6 8 2 é
2 7 3
1 1 ع8 8 ۶ 8
A(-2), A(O)
Error: ??? Subscript indices must either be real positive integers or
logicals.
A(4,2)
Error: ??? Index exceeds matrix dimensions.
صفحه 11:
اتصال دو ماتریس به هم
۰:2 ]1 21, y = ۱4:51, اس 1
xyJ ع عع
2-2-4-5
B= Ix; yl
12
45
C=I[xy:z]
irror:
?? Error using ==> vertcat CAT arguments dimensions are not consistent.
صفحه 12:
عملگرهای ریاضی
ترانهاده "
صفحه 13:
های ماترب
D> A= 129:456,789] | << 8 > ]8 5 2: 52 6: 36 9[
5 ,| دوماتريس كدو 8رابه
صورت مقابل در نظر بكيريد
2 و و 3 2
٩ 5 6 5 2
8 8 8 9 8 7
و - ولد |
صفحه 14:
۱
عملگرهای ریاضی درایه به درایه
ضرب درايه به درايه*.
تقسيم درايه به درايه /.
به توان رساندن . 5“
درایه به درایه
صفحه 15:
مثال از عملگرهای ریاضی درایه به درایه
۸ < ]1 2 3: 5 1 4:2
11
A=
82
52201 4
312 1
لاسا b=x*y |lc=x./y 0-2
(:,1)م دع Jy =AaG,)
9 b= c= d=
x= y= 3 8-3 0:33 0.5 1 4
1 208 3 4 -1 3 9
2 72
Erorr:
??? Error using ==> mpower Matrix must be square.
B=x*y
Erorr:
22? Error using ==> mtimes Inner matrix dimensions must agree.
صفحه 16:
رسم تابع Sin(x) 49 ۰ <4۲۲>
#ایجاد یک بردار برای 2 شامل ٠٠١ نقطه بين 0, 417
#محاسبه تابع (۷) 51۳ به ازای نقاط تعیین شده برای
صفحه 17:
سح بع ریاصی
۰ انواعی از توابع ریاضی در نرم افزار ۷1/11:۸13[تعریف شده است که در اینجا به تعدادی از UST اشاره می
کسینوس
سینوس
تانژانت
لکاریتم طبیعی AD)
تکاریتم در مبنای ۱۰
تابع نمای EF
تابع علامت : اکر 16 منفی باشد خروجی -۱ ۰ اکر 5 مثبت باشد خروجی
+1 واكر صفر باشد خروجی صفر است
ريشه مريع
مقدار قدر مطلق يا دامنه عدد مختلط
زاويه عدد مختلط
مقدار حقیقی عدد مختلط
مقدار موهومی عدد مختلط
روند کردن اعداد اعشاری به سمت نزدیک ترين ععد صحيح
صفحه 18:
| Plot the function e*%sin(x)
between 0<x<4n
a رسد مه عون oP IDO svples betwerd OD
ued PI.
® Catrutate siu(.) رس دوا خاو
وممصم دول خلى فكي وزوإروان() .
بلاتعمصصت امبر كه بر صتصصصه جك بباجقان:00 "1
دح« ۳۲۲۲
صفحه 19:
| Plot the function e*%sin(x)
between 0<x<4m
® Pt the pO-arap
صفحه 20:
|
© plot(.) “|
® stem(.) 1 ۱
صفحه 21:
۱۳7
امکانات رسم
© 2 ۰
as
© xlabel(.)
© ylabel(.)
rote)
۶ ۶ ؟ ؟ و + ٩ ؟ مد
صفحه 22:
عملگرهای منطقی
Lb solu. == ©
نامساوى با -- ©
كوجكتر از > ©
بزركتر از < ©
كوجكتر و مساوى با <> ©
بزركتر و مساوى با -< ©
{Sls AND & ©
08 عملگر | ©
صفحه 23:
دستورات ایجاد شرط و حلقه
©
® switch
° for
® while
® break
e eee
صفحه 24:
۱۳7
مثال
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
ایجاد شرط با دستور if ... else if
if (Condition_1)
Matlab Commands
elseif (Condition_2)
Matlab Commands
elseif (Condition_3)
Matlab Commands
else
Matlab Commands
end
صفحه 25:
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
ایجاد شرط با دستور SWItch
switch switch_expr
case case expr
Matlab
Commands;
case {case _exprl.,...}
Matlab
Commands;
otherwise
Matlab
Commands;
end
صفحه 26:
مثال
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
ایجاد حلقه تکرار با دستور FOr
For i=Index_Array
Matlab Commands
End
صفحه 27:
سه 777 تر
ايجاد حلقه تكرار با دستور ۷۷۱۱6
while (condition)
Matlab Commands
while ((a>3) & (b==5))
end Some Matlab Commands;
end
مثال
صفحه 28:
با کلیک برروی این آیکون
می توان یک 10-1116 جدید
برای نوشتن
دستورات ایجاد نمود.
1
000 ee = oe
* 7-6 با پسوند .10 ذخیره می شوند
*-7 یک محیط متنی را برای نوشتن دستورات و ذخیره و اجرای آنها ایجاد می
ace
صفحه 29:
شفاده از
oi nem430.m
He Edt Tex Go Cel ونه كص Ceshicp عمد عملم
5 د م-إصداك 8 :8 © 8[ 6 .د » هه هاه د © 5« : ها ع esl
با قرار دادن علامت “:” در انتهاى
هر دستور نتیجه دستور بعد از
نمایش داده نمی شود.
i (ae ee
Ye Linspaze (0,794, 0037
اس
2 اقلع-| سس
و هو
زد موه
(52) عملم
eitle('Thie is the sanue function!)
xlabel|'x (2223) |
‘ylabel| sin (x) القت وده |
fo + | hs R/O 3818 دك
3
2
> ممصم تسل
صفحه 30:
توشين تابع
'توابع در واقع 12-1116 هايى هستند كه با يك نام خاص ذخيره شده و با كرفتن يك يا
جند ورودى مى توانند يك يا جند خروجى توليد نمايند
براى نوشتن یک تابع یک 110]-170جدید باز کرده و در ابتدای 10-116 با
نوشتن یکی از دستورات زیر: تابع تعریف می شود.
function outl=functionname(in1)
function outl=functionname(in1,in2,in3)
function [out1,out2]=functionname(in1,in2)|
function functionname(in1)
function out1=functionname
باید توجه داشت که M-file به اسم (Functionname) al 0.53 39%
به هنگام فراخوانی تابع نیز از همان اسم تابع استفاده می شود.
صفحه 31:
مثالهایی از ایجاد تابع
مثال ۱: تابعی به صورت duu gy OUL=Suarer (A, iNd) كه
5 کر شاخص ورودی (11061) برابر با | است . مربع ماتریس ورودی () را حساب کند.
و اگر شاخص ورودی and) برابر با '! است, مربع درايه به درايه ماتريس ورودى (A)
محاسبه نماید. |[
Ee sce
File Edit Text Go Cell Tools Debug Desktop
function out=squarer (A, ind)
if (ind==1)
دياه
= end
صفحه 32:
سر ايه را به Heh نا اه هه cel Toole نت Fie EHS Tse
عنوان ورودی بگیرد و مجموعه و حاصلضرب 77 3
هی ی ی وی بو » 4[ هات د © 5 8۱۶ ۶ ظ
eh 6 م۲ - ها ۶8 ۱۰8 9
function [oubs, out2]-sumprod(array)
am (arcay) ¢
put2-peed array) |
yearerin _» [sarprodim
سا تسه 3 ca te [ow
Fi Fut Debug estos ۷
8[ س۱۳ 9۲ 7 8 هه اعد
Sherer I How ta Ade 2] Whe Nem
اين تابع را مى وان در یک 20012 دیگر و
يا در همان صفحه دستور
صورت مقابل فراخوانی نمود.
D> Towed, out2] ssumpeod (|
5 معدم i
Asi
صفحه 33:
-- ا سس
استفاده از 0610 نرم افزار
با استفاده از یکی از دو دستور زیر می توانید طریقه به کار گیری یک تابع را جستجو کرده
و يا با استفاده از یک کلمه کلیدی توابع مربوط به آن کلمه کلیدی را جستجو نمایید.
# يا با استفاده از كزينه 11617 از نوار منو محيط ]1261 نرم افزار باز می شود. که در آن
مى توان انواع توابع و كلمات كليدى را جستجو نمود.
Fle Edt View Web Window Hel
۳ | ۳58 با سس ۴۰| 2 نا
| الما
م ص Voine Tootbor Foun coche. Type "help vool
Wane size
Bx كعد
To get started, select "HATLAB Help” trom
>> Hel. 23.4512