آموزش نرم افزار MATLABاخبار مدرسه مهندسی پزشکینرم افزارهای تخصصی مهندسی پزشکی

آموزش نرم افزار MATLAB قسمت ششم

آموزش نرم افزار متلب(قسمت ششم)-matlab-www.iranianbme.com

آموزش نرم افزار MATLAB قسمت ششم

این مجموعه ی آموزشی توسط تیم وبسایت مرجع آموزش ویدیویی برنامه نویسی و برنامه نویسی تحت وب تهیه شده و تمامی حقوق محفوظ می باشد.

به نام خدا

نازنین پادکان هستم با جلسه ششم آموزش برنامه نویسی MATLAB در خدمت شما هستم.

در ابتدا قصد دارم در رابطه با توابع زمانی و تایمر در برنامه صحبت کنم..در ادامه هم در مورد چند جمله ای ها و فایل های تابعی صحبت میکنم.

توابع زمانی در MATLAB

از دستورات زیر برای محاسبه تاریخ  و ساعت میتوان استفاده کرد:

Tic    

شروع تایمر

Toc

نشان دهنده ی زمان تایمر

Clock

روز و ساعت

etime(t1,t2)

فاصله بین t1 ,t2

Cputime 

زمان سی پی یو بعد از شروع متلب

Date تاریخ
Calendar تقویم ماه جاری
Calendar(yyyy,mm)  تقویم سال و ماه معین

این دستور فاصله زمانی بین نوشتن دستورtic وtocرا تعیین میکند:

» tic
» toc
Elapsed time is 3.513011 seconds.
»

برای نمایش تاریخ،روز  و ساعت به طور دقیق، از دستور clockبه همراه دستورfix استفاده میکنیم:

fix(clock)
ans =
  Columns 1 through 5
        ۲۰۱۵          ۱۲          ۱۴           ۸          ۴۴
  Column 6

          ۴۰
»
» date
ans =
۱۴-Dec-2015
»

تعریف یک چند جمله ای در MATLAB khabaret mikona

برای تعریف یک چند جمله ای در MATLAB از بردار سطری استفاده میکنیم .

چند جمله ای ها توابع یک متغیره ای هستند که MATLAB این قابلیت را دارد که به راحتی اعمال ریاضی را با آنها انجام دهد.در این آموزش با نحوه ی تعریف چند جمله ای ها در متلب و کار با آنها آشنا میشوید.

  یک چند جمله ای در متلب توسط ماتریس ضرایبش مشخص می شود.مثلا چند جمله ای y=x^5+4*x^3+2 در متلب به صورت

[۱ ۰ ۴ ۰ ۰ ۱]

مشخص می شود .

با استفاده از دستور roots میتوان ریشه های این چند جمله ای را محاسبه کرد:

» p=[1 2 3 0 -5]
p =
     ۱     ۲     ۳     ۰    -۵
» roots(p)
ans =
  -۰٫۷۲۰۲ + ۱٫۷۵۱۸i
  -۰٫۷۲۰۲ - ۱٫۷۵۱۸i
  -۱٫۴۹۳۰ + ۰٫۰۰۰۰i
   ۰٫۹۳۳۵ + ۰٫۰۰۰۰i
»

یافتن یک چند جمله ای با استفاده از ریشه هایش در MATLAB

 با استفاده از تابع poly میتوان یک چند جمله ای را از روی ریشه هایش به دست آورد.

» r=[1 ; -1];
p=poly(r)
p =
     ۱     ۰    -۱
»

بر خلاف خود چند جمله ای ،ریشه های چند جمله ای باید بصورت یک بردار ستونی تعریف شوند.

ضرب چند جمله ای ها در برنامه نویسی MATLAB

به منظور ضرب دو چند جمله ای میتوان از conv استفاده کرد

a= [1 2 3 4]; b= [1 4 9 16];
c= conv(a , b)
c =
     ۱     ۶    ۲۰    ۵۰    ۷۵    ۸۴    ۶۴
»

جمع و تفریق چند جمله ای ها در نرم افزار MATLAB

برای اینکه دو بردار را با یکدیگر جمع یا تفریق کنیم..باید آن دو بردار هم طول باشند.لذا در صورت لزوم باید ضرایبی که تنها در یکی از چند جمله ای ها وجود دارد را در چند جمله ای دیگر برابر ۰قرار داد تا دو چند جمله ای هم طول شوند.

» p1= [4 5 3 2];
» p2= [0 5 2 0];
» p=p1+p2
p =
     ۴    ۱۰     ۵     ۲
»

تقسیم چند جمله ای ها در محیط نرم افزار متلب

 با استفاده از تابع deconvمیتوان چند جمله ای ها را بر هم تقسیم کرد .این تابع دو آرگومان خروجی میگیرد.اولی خارج قسمت و دومی باقیمانده

» a=[ 1 2 3 4 5 6];
b=[ 2 3 4];
» [q , r] = deconv( a , b)
q =
    ۰٫۵۰۰۰    ۰٫۲۵۰۰    ۰٫۱۲۵۰    ۱٫۳۱۲۵

r =
         ۰         ۰         ۰         ۰    ۰٫۵۶۲۵    ۰٫۷۵۰۰
»

با استفاده از تابع polyderمیتوان مشتق یک چند جمله ای را به دست آورد.

» a = [1 6 20 48 69 72 44]
f= polyder(a)
a =
     ۱     ۶    ۲۰    ۴۸    ۶۹    ۷۲    ۴۴
f =
     ۶    ۳۰    ۸۰   ۱۴۴   ۱۳۸    ۷۲
»

برای محاسبه مقادیر یک چند جمله ای در یک یا چند نقطه از تابع polyvalمیتوان استفاده کرد.

» p= [1 4 -7 -10]
x=linspace(-1,3,100);
y=polyval(p , x);
plot(x , y);
p =
     ۱     ۴    -۷   -۱۰

حل دستگاه معادلات خطی در MATLAB

با استفاده از عملیات ضرب،تقسیم ماتریسی در MATLAB به راحتی میتوان دستگاه های معادلات خطی را حتی در مواردی که تعداد معادلات با متغیر ها مساوی نباشد ،حل کرد.بدین منظور باید بردار سمت راست معادلات را بر ماتریس ضرایب متغیرها تقسیم کرد

مثال: دستگاه معادلات زیر را حل کنید:

آموزش Matlab

» b=[366 ; 804 ; 351];
» a=[1 2 3 
۴ ۵ ۶
۷ ۸ ۰];
» x= a  b
x =

   ۲۵٫۰۰۰۰
   ۲۲٫۰۰۰۰
   ۹۹٫۰۰۰۰

در ادامه با  توابع آشنا میشویم:

مزایای استفاده از توابع به جای فایلهای اسکیپت

سرعت بالاتر

صرفه جویی در حافظه کامپیوتر

تصحیح و خطایابی آسانتر

بهبود قابلیت جابه جایی

 و …

توابع بر خلاف فایل های اسکریپت در هنگام اجرا یکبار کامپایل شده و اجرا میشوند.در حالی که فایل های اسکریپت سطر به سطر کامپایل و اجرا میشوند.این امر باعث افزایش سرعت اجرای توابع در مقایسه با فایل های اسکریپت میشود.

متغیر های تعریف شده در متلب پس از پایان اجرای آن از حافظه پاک میشوند و به طور کلی فضای کاری توابع مستقل از فضای کاری متلب است.خصوصا در مواقعی که برنامه با ماتریس های بزرگ مانند تصاویر کار میکند بهتر است از توابع استفاده شود.

اکثر دستورات MATLAB و جعبه ابزارهای آن با استفاده از توابع نوشته شده است.به بیان دیگر ما به راحتی میتوانیم برای قابلیت هایی که در حال حاضر در MATLAB وجود ندارد مجموعه ای از توابع بنویسیم و در برنامه های خود استفاده کنیم.

همیشه در هنگام نوشتن یک برنامه ابتدا میتوانیم آن را به صورت یک فایل اسکریپت بنویسیم تا به راحتی بتوانیم آن را اشکال زدایی کنیم.

سپس برای افزایش سرعت و کیفیت برنامه ،آن را به تابع تبدیل کنیم.

فایل های اسکریپت خط به خط اجرا میشوند اما توابع یکبار به طور کامل ترجمه و اجرا میشود.

محیط کاری فایل های اسکریپت همان محیط کاری متلب است اما محیط کاری هر تابع برای خودش منحصر به فرد است .یعنی اگر یک متغیر داخل یک تابع تعریف شود فقط و فقط داخل همان تابع قابل دسترسی است و برعکس متغیر های تعریف شده در فضای کاری متلب نیز در داخل توابع تعریف شده نیستند.(یک استثنا در این زمینه وجود داره و آن هم تعریف متغیر به صورت عمومی است)

توابع از طریق آرگومان های خود با محیط خارج در ارتباط هستند.

ساختار یک M فایل تابعی:اولین خط در این نوع فایل ،خط تعریف تابع نام دارد که این خط، تابع و دسته آرگومان های ورودی و خروجی را تعریف میکند .

function[argout1,argout2,...] =funcname(argin1,argin2)

معرفی و راهنمایی برای استفاده از این تابع

.

.

بدنه ی تابع

.

.

.

argout

 همان متغیر های خروجی ما هستند.

argin

همان متغیرهای ورودی ما هستند.

بعد از خط اول و تعریف تابع ..در خطوط بعد در مقابل علامت % میتوان توضیحات و راهنمایی هایی برای استفاده از این تابع نوشت

نکاتی که باید به آنها در استفاده از توابع در MATLAB توجه کنید:

تابع ممکن است هیچ آرگومان ورودی یا خروجی نداشته باشد.

باید دقت شود که نام تابع با نام Mفایل ذخیره شده  یکسان باشد.

در یک Mفایل میتوان چندین تابع تعریف کرد.این توابع میتوانند یکدیگر را فراخوانی کنند.اما تنها نخستین تابع از خارج از این فایل قابل فراخوانی است.

در صورت وجود چندین تابع در یک M فایل ،باید نام فایل با نام نخستین تابع  یکسان باشد.

اولین سطر بعد از اعلان تابع ،یک جمله توضیحی است که هنگام استفاده از دستورlookforدر متلب مورد جستجو قرار میگیرد.

تمامی سطرهای توضیحی تا نخستین سطر غیر توضیحی در هنگام استفاده از دستور help نمایش داده میشوند.

همیشه سعی کنید هنگام نوشتن تابع چند سطری توضیح درباره عمکرد آن بنویسید تا کاربر بتواند با استفاده از دستور helpمتلب با روش های استفاده از این تابع آشنا شود.

خب فکر کنم برای این جلسه کافی باشه..

در این جلسه ما در مورد توابع زمانی..چند جمله ای ها..حل دستگاه و همینطور  توابع صحبت کردیم.

مبحث توابع هنوز ادامه داره و بهتره که یک جلسه به طور کامل در مورد تابع ها در MATLAB صحبت کنیم.تا جلسه بعدی خدانگهدار 

منبع:www.ilikephp.ir

دانلود PDF قسمت ششم آموزش Matlab

download(www.iranianbme.com)

مدرسه مهندسی پزشکی ایران

 

نوشته های مشابه

یک دیدگاه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا