توابع عددی داخلی در متلب

چاپ

در بخش های قبلی مشاهده کردیم که می توان از دستور help برای مشاهده ی موضوعات کمکی مختلفی همچون موضوع elfun و توابع ذخیره شده در موضوعات مختلف، استفاده نمود. 

متلب حاوی تعداد زیادی تابع داخلی، در مورد توابع مثلثاتی همچون سینوس و کسینوس و تانژانت و ... است. بعنوان مثال، تابع ()sin مشخص کننده ی تابع سینوس به واحد رادیان است. معکوس تابع سینوس، یا به عبارت دیگر آرک سینوس نیز، با تابع ()asin مشخص می شود، که به واحد رادیان است. اما تابع هایپربولیک سینوس را با تابع ()sinh به واحد رادیان، مشخص می کنیم. و تابع معکوس هایپربولیک سینوس بصورت ()asinh مشخص می شود که به واحد رادیان است.

همچنین توابعی در متلب وجود دارند که به جای واحد رادیان، از واحد درجه استفاده می کنند. بعنوان مثال می توان توابع ()sind و ()asind را نام برد. برای دیگر توابع مثلثاتی نیز چنین تفاوت هایی وجود دارد.

علاوه بر توابع مثلثاتی، موضوع کمکی elfun حاوی برخی توابع مربوط به گرد کردن و باقی مانده ها است که بسیار کاربردی هستند. برخی از این توابع عبارتند از: fix و floor و ciel و round و mod و rem و sign. 

هر دوی توابع rem و mod، باقی مانده ی یک تقسیم را برمی گردانند. بعنوان مثال حاصل تقسیم عدد 13 بر 5، می شود 2 به همراه باقی مانده ی 3. بنابراین حاصل عبارت زیر، برابر با 3 می شود:

مثال

چه اتفاقی می افتد اگر که شما ترتیب آرگومان ها را به اشتباه وارد کنید، بصورت زیر:

 

(5,13)rem

 

پاسخ:

تابع rem یک نمونه از توابعی است که دو آرگومان را می پذیرد. در برخی از این چنین توابع، ترتیب قرارگیری آرگومان ها مهم نیست اما در تابع rem، ترتیب قرارگیری مهم است. تابع rem، دومین آرگومان را بر اولین آرگومان تقسیم می کند. مثلا در این مورد، که ما آرگومان ها را جابه جا نوشته ایم، عدد 13 را نمی توان بر 5 تقسیم نمود، بنابراین خارج قسمت تقسیم برابر با 0 و باقی مانده برابر با 5 خواهد شد. 

 

 یک تابع دیگر که در موضوع کمکی elfun قرار دارد، تابع sign است. این تابع، در صورتی که آرگومان وارده به آن، مثبت باشد، عدد 1 را برمی گرداند و اگر 0 باشد، مقدار 0، و اگر منفی باشد، مقدار 1- را برمی گرداند. به مثال زیر توجه کنید:

 

تمرین 1.6

از تابع help استفاده کنید تا نحوه ی کار کردن با توابع مخصوص گرد کردن یعنی توابع fix و floor و ciel و round را بیاموزید. این توابع را مورد آزمایش قرار دهید و مقادیر مثبت یا منفی یا کوچکتر از 0.5 یا بزرگتر را به آنها بدهید. 

 از زمانی که نسخه ی R2014b از متلب منتشر شد، گزینه ی دیگری به تابع round اضافه شد، که به وسیله ی آن می توان تعداد رقم های گرد شدن را مشخص نمود. به مثال زیر توجه کنید:

 همان طور که در متلب می توان با استفاده از عملگر ^ اعداد را به توان رساند، این امکان وجود دارد تا با استفاده از تابع sqrt ریشه ی دوم و با استفاده از تابع nthroot ریشه ی n اُم یک عدد یا عبارت را محاسبه نمود. بعنوان مثال، در عبارت زیر، ریشه ی سوم عدد 64 محاسبه شده است:

 اگر داشته باشیم \(x={ b }^{ y }\) آنگاه y برابر است با لگاریتم x در مبنای b، یا به عبارت دیگر می گوییم: \(y=\log _{ b }{ (x) } \) . اگر در یک لگاریتم، مبنا برابر با 10 باشد، به آن لگاریتم طبیعی گفته می شود. همچنین اگر b=e باشد، به آن لگاریتم طبیعی گفته می شود(e برابر است با 2.7183). بعنوان مثال داریم:

$$100={ 10 }^{ 2 }\Longrightarrow 2=\log _{ 10 }{ (100) } \\ 32={ 2 }^{ 5 }\Longrightarrow 5=\log _{ 2 }{ (32) } $$

 متلب دارای توابعی است که لگاریتم یک عدد یا عبارت را برمی گردانند، مثلا داریم:

log(x) لگاریتم طبیعی را برمی گرداند
log2(x) لگاریتم مبنای 2 را برمی گرداند
log10(x) لگاریتم مبنای 10 را برمی گرداند

 متلب همچنین یک تابع داخلی به نام (exp(n دارد که ثابت en را برمی گرداند. 

 

سوال سریع!

هیچ ثابت عددی برای مقدار e در متلب وجود ندارد، پس چگونه می توان در متلب به آن دسترسی پیدا نمود؟

پاسخ:

برای انجام این کار می توانیم از تابع نمایی exp کمک بگیریم. مقدار e با استفاده از این تابع بصورت (exp(1 به دست می آید، مثلا داریم:

 

 

نکته: توجه کنید که مقدار e را با حرف e که در نماد علمی مورد استفاده قرار می گیرد، اشتباه نگیرید. 

 

 در نسخه ی R2015b از متلب، می توان با استفاده از توابع deg2rad و rad2deg، درجه را به رادیان و رادیان را به درجه تبدیل نمود: