آموزش برنامه نویسی متلب -توابع سمبلیکجمعه 08, مه 2020
آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
توابع سمبلیک در متلب
در بعضی مواقع با تابع هایی مواجع می شویم که دارای چند متغیر یا سمیب می باشند به همین خاطر ما این امکان را نداریم که از روش چند جمله ای ها آنرا محاسبه نماییم برای رفع این مساله از توابع سمبلیک استفاده می نماییم.
شاید نام تابع سمبلیک غیر آشنا و نا ملموس باشد اما باید بگویم که منظور از توابع سمبلیک همان توابع چند متغیره معمولی می باشد .به عنوان نمونه از چند تابع سمبلیک داریم:
در نرم افزار متلب این توابع به صورت پارامتری تعریف و شناخته می شوند.
دقت کنید که در این مواقع ابتدا باید برای تعریف معادلع پارامترهای آن را مشخص نماییم.
Syms تعریف پارامتر در متلب
با استفاده از این دستور می توانیم پارامترهایی که مورد استفاده قرار می گیرند در توابع را تعریف نماییم.
همانطور که مشخص است این دستور هیچ خروجی ندارد تنها تعریف پارامترها می باشد.
لازم به ذکر است که بگوییم این امکان را داریم که با sym یک معادله را نیز وارد نماییم.
پیرو گفته های فوق حال می توانیم یک تابع را تعریف نماییم.
همانطور که مشاهده می نمایید تابع تعریف شد
Eval مقدار گذاری تابع
با استفاده از این دستور می توانیم مقدار دهی به توابع را انجام دهیم. به گونه ای که اول مقادیر را باید تعریف نماییم و سپس دستور مذکور را به کار ببریم.
(تابعی که در مثال قبل ساخته ایم را در نظر بگیرید)
Limit حد در متلب
با استفاده از این دستور این امکان برای ما فراهم می شود که حد معادله را در همسایگی وارد شده محاسبه نماییم.
به مثال زیر توجه نمایید در این مثال می خواهیم حد y در نقطه x=2 را محاسبه نماییم.
با استفاده از این دستور می توانیم مشتق معادلات را به دست آوریم
البته باید متذکر شوم که مشتق مرتبه n ام به صورت زیر محاسبه می شود.
و در صورتی که یک معادله ی چند متغیره داشته باشیم و بخواهیم بر اساس یکی از متغیر ها مشتق بگیریم باید آن را داخل کوتیشن بعد از نام تابع ذکر نماییم.
با استفاده از دستور فوق امکان انتگرال گیری فراهم می شود. نحوه به کارگیری و استفاده از دستور همانند دستور diff می باشد.
دقت نمایید که برای محاسبه انتگرال معین مقادیر ابتدایی و انتهایی بازه را پس از جملات می نویسم.
Compose ترکیب تابع
با استفاده از این دستور این امکان فراهم می شود که دو تابع را با یکدیگر تر کیب نماییم به عبارت دیگر می توان همان fog(x) و یا f(g(x)) را محاسبه نمود.
Symsum مجموع یک سری
با استفاده از این دستور این امکان فراهم می شود که مجمع سری یا همان تابع وارد شده محاسبه شود.
و مجموع سری به صورت تابع بع صورت زیر بیان می شود.
این به معنای آن است که مجموع سری از a تاb را محاسبه می نماید.
Finverse معکوس تابع
با استفاده از این دستور می توانیم معکوس تابع وارد شده را محاسبه نماییم.
به مثال زیر دقت نمایید:
Jacobian ماتریس ژاکوبین
ماتریس ژاکوبین , ماتریسی می باشد که در آن هر سطر مربوط به یک تابع است و هر ستون در هر سطر مربوط به مشتق تابع مربوط به سطر نسبت به پارامتر مربوط به ستون می باشد. شاید توضیح گفته شده کمی گنگ باشد با مثال زیر سعی داریم درک موضوع را راحت تر عنوان نماییم.بنابراین به مثال زیر دقت نمایید:
بررسی کد های فوق:
در دستورات:
خطوط اول تا چهارم صرفا جهت تعریف تابع به کار برده می شوند. خط پنجم مربوط به دستور تابع jacobin می باشد که در ادامه توضیح می دهیم. همانگونه که مشاهده می کنید در بخش ابتدایی دستور (([x;y;z])) نوشته شده است و اگر توجه کنید خواهید دید که در وسط پارامترها علامت ; قرار داده شده است که این عملگر معرف جدا کردن سطر ها می باشد این بخش به معنای آن است که معادلات x y z هر کدام در یک سطر قرار می گیرند. سپس در قسمت دوم که به صورت (([a,b,c,d])) نمایش داده شده است به معنای آن است که مشتق گیری بر اساس این پارامترها انجام خواهد شد که این پارامترها نیز با , جدا شده اند که معرف جدا شدن ستون در یک سطر می باشد. با توجه به توضیحات فوق باید جواب دریافت شده سه سطر و چهار ستون یعنی برای هر معادله یک سطر و برای هر پارامتر یک ستون را تشکیل دهد. برای ساختن این ماتریس به ترتیب عمل می کنیم که از معادلات ( در سطر مربوطه ) بر اساس پارامترها باز به ترتیب مشتق می گیریم و در مکان متناظر هر پارامتر قرار می دهیم. حال به مثال بالا مراجعه نمایید و شیوه ساختن ماتریس را مرور نمایید.
نکته:
در بسیاری از کتابها و چزوات آموزشی توابع مختلفی برای جمع, تفریق, ضرب , تقسیم و… از قبیل symmul-symsub-symdd-symdiv-sympow و چند تابع دیگر را برای کار با توابع ارائه نموده اند که بیشتر اوقات متلب خود با استفاده از عملگرها پاسخ را می دهد و نیازی به این توابع نمی باشد.
در اینجا آشنایی با محیط متلب بخش پانزدهم به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید