1 / 33

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

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

kamuzu
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. صفحه اصلی این نرم افزار دارای اجزای بسیار گسترده ای است ولی دو بخش نشان داده شده کاربرد بسیار زیادی دارند: • پنجره دستورات (Command Window) : این پنجره مکانی است که کاربر باید دستورات مورد نظر را درون آن تایپ کند. مکان تایپ با دو علامت >> مشخص شده است و مکان نما در جلوی این علامت >> در حال چشمک زدن است که نشان می دهد ، نرم افزار آماده دریافت دستور جدید است. • فضای کار (Workspace) : در این فضا تمامی متغیر هایی که در برنامه توسط دستورات ایجاد شده اند نشان داده می شود. در MATLABمتغیر ها را می توان به صورت برداری، ماتریسی تعریف نمود. برای مثال در شکل قبلی یک بردار توسط دستور H=[1 2 3 4 5] ایجاد شده است. در محیط فضای کار می توان تمامی متغیرهای موجود و ابعاد آنها را مشاهده نمود. نکته: در صورتی که هر کدام از این پنجره ها بسته شد، به منوی 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 vectorx = [1 2 5 1] x = 1 2 5 1 • a matrixx = [1 2 3; 5 1 4;3 2 -1] x = 1 2 3 5 1 4 3 2 -1 • transposey = x’ y = 1 2 5 1

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

  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 = 0 0 0 x = ones(1,3) x = 111 x = rand(1,3) x = 0.9501 0.2311 0.6068

  10. اندیس ماتریس • در محیط 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] 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.

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

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

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

  15. مثال از عملگرهای ریاضی درایه به درایه A = [1 2 3; 5 1 4;3 2 1] A = 1 2 3 5 1 4 3 2 -1 b = x .* y b= 3 8 -3 c = x . / y c= 0.33 0.5 -3 d = x .^2 d= 1 4 9 x = A(1,:) x= 1 2 3 y = A(3 ,:) y= 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.

  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تعریف شده است که در اینجا به تعدادی از آنها اشاره می شود:

  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 ((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 مثال 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_expr case case_expr Matlab Commands; case {case_expr1,...} 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 Fori=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-file با پسوند .m ذخیره می شوند • m-file یک محیط متنی را برای نوشتن دستورات و ذخیره و اجرای آنها ایجاد می کند

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

  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 >>lookforkeyword

More Related