Presentation is loading. Please wait.

Presentation is loading. Please wait.

محاسبات عددی در مهندسی پزشکی جلسه اول و دوم مقدمه ای بر نرم افزار MATLAB گلناز بغدادی 1391.

Similar presentations


Presentation on theme: "محاسبات عددی در مهندسی پزشکی جلسه اول و دوم مقدمه ای بر نرم افزار MATLAB گلناز بغدادی 1391."— Presentation transcript:

1 محاسبات عددی در مهندسی پزشکی جلسه اول و دوم مقدمه ای بر نرم افزار MATLAB
گلناز بغدادی 1391

2 کاربرد های نرم افزار (MATLAB)
این نرم افزار امکانات محاسبات متعدد، رسم نمودار و تصاویر و ... را در اختیار کاربر قرار می دهد. اين نرم افزار داراي يك كتابخانه گسترده‌ي از توابع مختلف است که هر کدام از این کتابخانه ها برای پردازش و بررسی سیستم ها و داده ها در علوم مختلف طراحی شده اند. توابع موجود در این کتابخانه ها به کاربر این اجازه را می دهد که بدون نیاز به نوشتن برنامه های طولانی، انواع مختلفی از شبیه سازی ها را انجام دهند.

3 صفحه اصلی نرم افزار مطلب
این نرم افزار در نسخه های مختلفی ارائه شده است. ولی به طور کلی بعد از اجرای این نرم افزار صفحه اصلی دارای چند بخش مهم است که در تمامی نسخه ها با تفاوت ظاهری بسیار ناچیز وجود دارد: فضای کار Workspace پنجره دستورات (Command Window)

4 صفحه اصلی این نرم افزار دارای اجزای بسیار گسترده ای است ولی دو بخش نشان داده شده کاربرد بسیار زیادی دارند: پنجره دستورات (Command Window) : این پنجره مکانی است که کاربر باید دستورات مورد نظر را درون آن تایپ کند. مکان تایپ با دو علامت >> مشخص شده است و مکان نما در جلوی این علامت >> در حال چشمک زدن است که نشان می دهد ، نرم افزار آماده دریافت دستور جدید است. فضای کار (Workspace) : در این فضا تمامی متغیر هایی که در برنامه توسط دستورات ایجاد شده اند نشان داده می شود. در MATLABمتغیر ها را می توان به صورت برداری، ماتریسی تعریف نمود. برای مثال در شکل قبلی یک بردار توسط دستور H=[ ] ایجاد شده است. در محیط فضای کار می توان تمامی متغیرهای موجود و ابعاد آنها را مشاهده نمود. نکته: در صورتی که هر کدام از این پنجره ها بسته شد، به منوی view در بالای صفحه رفته و با زدن تیک هر کدام از پنجره ها، می توان آن پنجره را به نمایش در آورد.

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 ریخته می شود)

6 حال اگر بخواهیم این تابع را رسم کنیم از دستور زیر استفاده می شود:
>> plot (x,y) یا >> plot(y) (به کمک دستور بالا مقادیر x و y بر حسب هم رسم می شوند. یعنی محور افقی مقادیر x و محور عمودی مقادیر sin(8x) می شود) همانطوری که مشاهده می شود تابع sin(8x) به ازای مقادیر x از 1 تا 10 رسم شده است. ولی این تابع رسم شده دارای شکستگی های زیادی است. علت این است که مقادیر x یک واحد یک واحد تغییر می کند. برای کوچکتر کردن فواصل تغییرات x از دستور زیر استفاده می شود: >> x=0:0.01:10; به کمک این دستور مقادیر x از 0 تا 10 ، هر بار به مقدار 0.01 اضافه می شود. حال مجددا مقدار y را با دستور داده شده محاسبه نموده و آن را رسم نمایید، شکل حاصله چه تفاوتی با شکل قبلی دارد؟ (به جای دستور بالا دستور زیر تایپ شود، چه نتیجه ای مشاهده می شود؟: >> plot (x, y, ’.’)

7 ایجاد بردار و ماتریس a vector x = [1 2 5 1]
a matrix x = [1 2 3; 5 1 4; ] transpose y = x’ y = 1 2 5

8 مثالهایی دیگر از روش ایجاد بردار و ماتریس
t =1:10 t = k =2:-0.5:-1 k = B = [1:4; 5:8] x =

9 ایجاد بردار و ماتریس از طریق توابع
zeros(M,N) MxN matrix of zeros تولید ماتریس تمام صفر ones(M,N) MxN matrix of ones تولید ماتریس تمام یک rand(M,N) MxN matrix of uniformly distributed random numbers on (0,1) تولید ماتریس با اعداد تصادفی x = zeros(1,3) x = x = ones(1,3) x = rand(1,3)

10 اندیس ماتریس مثال A(-2), A(0)
در محیط MATLAB اندیس ماتریس از 1 شروع می شود اندیس ماتریس در محیط MATLAB یک عدد صحیح مثبت است مثال A(-2), A(0) Error: ??? Subscript indices must either be real positive integers or logicals. A(4,2) Error: ??? Index exceeds matrix dimensions.

11 اتصال دو ماتریس به هم x = [1 2], y = [4 5], z=[ 0 0] A = [ x y]
B = [x ; y] 1 2 4 5 C = [x y ;z] Error: ??? Error using ==> vertcat CAT arguments dimensions are not consistent.

12 عملگرهای ریاضی + جمع - تفریق * ضرب / تقسیم ^ توان ‘ ترانهاده

13 عملگرهای ماتریسی جمع تفریق ضرب ترانهاده
دو ماتریس A و B را به صورت مقابل در نظر بگیرید جمع تفریق ضرب ترانهاده

14 عملگرهای ریاضی درایه به درایه
عملگرهای ریاضی درایه به درایه .* ضرب درایه به درایه ./ تقسیم درایه به درایه .^ به توان رساندن درایه به درایه

15 مثال از عملگرهای ریاضی درایه به درایه
A = [1 2 3; 5 1 4; 3 2 1] A = b = x .* y b= c = x . / y c= d = x .^2 d= x = A(1,:) x= y = A(3 ,:) y= K= x^2 Erorr: ??? Error using ==> mpower Matrix must be square. B=x*y ??? Error using ==> mtimes Inner matrix dimensions must agree.

16 رسم تابع sin(x) در 0≤x≤4π ایجاد یک بردار برای x شامل 100 نقطه بین 0 , 4π محاسبه تابع sin (x) به ازای نقاط تعیین شده برای x رسم خروجی >>x=linspace(0,4*pi,100); >>y=sin(x); >>plot(y)

17 انواع توابع ریاضی انواعی از توابع ریاضی در نرم افزار MATLABتعریف شده است که در اینجا به تعدادی از آنها اشاره می شود: Cos(x) کسینوس Sin(x) سینوس Tan(x) تانژانت Log(x) لگاریتم طبیعی (ln) Log10(x) لگاریتم در مبنای 10 Exp(x) تابع نمای ex Sign(x) تابع علامت : اگر x منفی باشد خروجی -1 ، اگر x مثبت باشد خروجی +1 و اگر x صفر باشد خروجی صفر است Sqrt(x) ریشه مربع Abs(x) مقدار قدر مطلق یا دامنه عدد مختلط Angle(x) زاویه عدد مختلط Real(x) مقدار حقیقی عدد مختلط Imag(x) مقدار موهومی عدد مختلط Round(x) روند کردن اعداد اعشاری به سمت نزدیک ترین ععد صحیح Fix(x) روند کردن به سمت صفر

18 Plot the function e-x/3sin(x) between 0≤x≤4π
Create an x-array of 100 samples between 0 and 4π. Calculate sin(.) of the x-array Calculate e-x/3 of the x-array Multiply the arrays y and y1 correctly >>x=linspace(0,4*pi,100); >>y=sin(x); >>y1=exp(-x/3); >>y2=y.*y1;

19 Plot the function e-x/3sin(x) between 0≤x≤4π
Plot the y2-array >>plot(y2)

20 امکانات رسم plot(.) stem(.) Example: >>x=linspace(0,4*pi,100);
>>y=sin(x); >>plot(y) >>plot(x,y) Example: >>stem(y) >>stem(x,y)

21 امکانات رسم title(.) xlabel(.) ylabel(.)
>>title(‘This is the sinus function’) >>xlabel(‘x (secs)’) >>ylabel(‘sin(x)’)

22 عملگرهای منطقی == مساوی با ~= نامساوی با < کوچکتر از > بزرگتر از
<= کوچکتر و مساوی با >= بزرگتر و مساوی با & عملگر AND | عملگر OR

23 دستورات ایجاد شرط و حلقه
if switch for while break ….

24 ایجاد شرط با دستور if … else if
مثال if ((a>3) & (b==5)) Some Matlab Commands; end if (a<3) elseif (b~=5) else if (Condition_1) Matlab Commands elseif (Condition_2) elseif (Condition_3) else end

25 ایجاد شرط با دستور Switch
مثال 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') disp('Unknown method.') End ایجاد شرط با دستور Switch switch switch_expr case case_expr Matlab Commands; case {case_expr1,...} ... otherwise end ایجاد رشته متنی

26 ایجاد حلقه تکرار با دستور For
مثال for i=1:100 Some Matlab Commands; end for j=1:3:200 for m=13:-0.2:-21 for k=[ ] For i=Index_Array Matlab Commands End

27 ایجاد حلقه تکرار با دستور While
while (condition) Matlab Commands end مثال while ((a>3) & (b==5)) Some Matlab Commands; end

28 ایجاد m-file m-file با پسوند .m ذخیره می شوند

29 استفاده از m-file Save file as Denem430.m
با قرار دادن علامت “;” در انتهای هر دستور نتیجه دستور بعد از نمایش داده نمی شود.

30 نوشتن تابع توابع در واقع m-file هایی هستند که با یک نام خاص ذخیره شده و با گرفتن یک یا چند ورودی می توانند یک یا چند خروجی تولید نمایند برای نوشتن یک تابع یک m-fileجدید باز کرده و در ابتدای m-file با نوشتن یکی از دستورات زیر، تابع تعریف می شود. باید توجه داشت که M-file به اسم تابع (functionname) ذخیره شود. به هنگام فراخوانی تابع نیز از همان اسم تابع استفاده می شود. function out1=functionname(in1) function out1=functionname(in1,in2,in3) function [out1,out2]=functionname(in1,in2) function functionname(in1) function out1=functionname

31 مثالهایی از ایجاد تابع نام یکسان
مثال 1: تابعی به صورت out=squarer (A, ind) بنویسید که اگر شاخص ورودی (ind) برابر با 1 است ، مربع ماتریس ورودی (A) را حساب کند. و اگر شاخص ورودی (ind) برابر با 2 است، مربع درایه به درایه ماتریس ورودی (A) را محاسبه نماید. نام یکسان

32 مثالهایی از ایجاد تابع مثال 2: تابعی بنویسید که یک آرایه را به عنوان ورودی بگیرد و مجموعه و حاصلضرب درایه های آن را به عنوان خروجی بدهد. این تابع را می توان در یک m-file دیگر و یا در همان صفحه دستور MATLAB به صورت مقابل فراخوانی نمود.

33 استفاده از help نرم افزار
با استفاده از یکی از دو دستور زیر می توانید طریقه به کارگیری یک تابع را جستجو کرده و یا با استفاده از یک کلمه کلیدی توابع مربوط به آن کلمه کلیدی را جستجو نمایید. یا با استفاده از گزینه Help از نوار منو محیط help نرم افزار باز می شود. که در آن می توان انواع توابع و کلمات کلیدی را جستجو نمود. >>help functionname >>lookfor keyword


Download ppt "محاسبات عددی در مهندسی پزشکی جلسه اول و دوم مقدمه ای بر نرم افزار MATLAB گلناز بغدادی 1391."

Similar presentations


Ads by Google