طبق تجربه ما در دوره های آموزشی متلب که در دانشگاه ها، توسط ایران متلب برگزار شده است ، نشان می دهد که دانشجویان تحصیلات تکمیلی کارشناسی ارشد و دکتری نیاز به ابزاری دارند که برای داده های ورودی و خروجی خود یک رابطه بدست بیاورند.
یکی از توابع پر کاربرد متلب برای برازش داده ، تابع fit می باشد .
با این تابع شما می توانید توابع زیادی را تقریب بزنید که در زیر خلاصه ای از آنها را می بینید .
چند جمله ای
Polynomial Model Names and Equations
Examples of Polynomial Model Names for Curves Equations
poly1 Y = p1*x+p2
poly2 Y = p1*x^2+p2*x+p3
poly3 Y = p1*x^3+p2*x^2+…+p4
…etc., up to poly9 Y = p1*x^9+p2*x^8+…+p10
آموزش تولباکس کرو فیتینگ نرمافزار متلب
کرو فیتینگ (Curve Fitting) چیست؟
کروفیتینگ یا برازش منحنی، به عملی گفته میشود که با کمک آن میتوان معادلههای خطوط پیچیده را از مجموعهای از نقاط عبور داد. این نقاط میتوانند همان دادههای آزمایشگاهی باشند. مثلاً شما تعدادی دادهی آزمایشگاهی دارید و میخواهید بهترین خط با معادلهی y=ax^2+Sin x را از این نقاط عبور دهید. معادلهی بدست آمده الزماً از دادههای شما عبور نمیکند؛ این معادله بهترین معادلهای خواهد بود که به تمامی دادههای شما نزدیک است. شما به کمک نرمافزار متلب (Matlab) میتوانید این عمل را انجام دهید. در واقع، نرمافزار متلب به شما اجازهی انتخاب هر نوع معادلهای را میدهد و شما با انتخاب نوع معادله و ورود دادهها به نرمافزار میتوانید ضرایب معادله مورد نظر خود را بدست آورید. این معادلات میتوانند چندپارامتری و یا چندمتغیره باشند. در ادامهی مطلب به صورت تصویری، چگونگی برازش منحنی یا کرو فیتینگ ( Curve Fitting) در نرمافزار متلب را توضیح دادهام.
ابتدا در پنجره اجرای دستورات مطابق شکل تایپ کنید: cftool
اکنون پنجره مربوط به جعبه ابزار برازش منحنی (Curve Fitting Toolbox ) طبق عکس زیر، در محیط نرمافزار متلب باز می شود:
حال برای اجرای یک مثال ساده یا خود شما داده هایی را وارد نرم افزار متلب بکنید و یا هم دستور زیر را تایپ نمایید تا داده هایی از دیتا بیس نرم افزار متلب وارد محیط نرمافزار شود:
پس از اجرای دستور فوق در محیط نرمافزار با پنجره زیر مواجه خواهید شد:
ه شامل دو ماتریس میباشد.
حال از پنجرهی جعبه ابزار که قبلا باز کرده بودیم، روی data کلیک کنید تا مطابق شکل پنجره ای باز شود و گزینه های X , Y را طبق شکل تنظیم کنید.
سپس بر روی Create data set کلیک کنید تا پنجره زیر ظاهر گردد:
روی View کلیک کنید.
اکنون روی close کلیک کنید.
حال به پنجره زیر بروید و روی Fitting کلیک کنید.
وقتی کلیک کردید پنجره زیر ظاهر می گردد:
وقتی شما چک باکس Immediate apply را علامت زدید و روی New Fit هم کلیک کرده باشید معادلات مختلف و ضرایبشان را مشاهده خواهید کرد و خطوط متناظر با این معادلات از مجموعه نقاط شما عبور خواهد کرد. در قسمت نتایج Result میتوانید مقدار عددی رگرسیون نیز مشاهده کنید.
شما می توانید در یک شکل جند بار New Fit را بزنید و مطابق شکل چندین منحنی همزمان در یک صفحه از مجموعه نقاط شما عبور خواهد کرد.
برای اینکه بدانید کدام یک از نقاط شما از سایر نقاط پرت است و به اصطلاح ممکن است بر اثر خطای آزمایش بوجود آمده باشد کارهای زیر را انجام دهید:
در تصویر بالا از منوی View گزینه Residuals و سپس Line Plot را انتحاب کنید تا شکل زیر به پایین نمودار مطابق شکل اضافه شود:
این شکل نشان می دهد که نقاطی که نزدیک به ۱۹۴۰ هستند، ممکن است داده های پرت باشند و در صورت حذف این داده و داده سمت راست آن، منحنیِ بهتری و با دقت بیشتری خواهیم داشت که رگرسیون آن نیز به مراتب به واحد نزدیکتر خواهد بود.
تول باکس کروفیتینگ متلب امکانات گستردهی دیگری نیز دارد. به عنوان مثال شما غیر از این ۳۵ معادله که میتوانید دادههای خود را روی آنها فیت کنید، میتوانید ترکیبی از این معادلات و یا هر معادلهی دلخواهی را از دادهها عبور دهید. اگر شما بخواهید که از امکانات این جعبه ابزار در وسط برنامه (m-file) استفاده کنید، شما باید از کدهایی که در هلپ نرمافزار توضیح داده شده، به کار ببرید. تول باکس کرو فیتینگ متلب قابلیت محاسبهی مشتق عددی و یا انتگرالگیری از منحنیهایی که از دادههای شما عبور میکند نیز دارد. همچنین به کمک این جعبهابزار میتوانید معادلات چند متغیره و چند پارامتری را از دادههایتان عبور دهید.
سلام ممنون از اطلاعات مفیدی که قرار دادید
یه سوال دارم. متلب برای برازش منحنی در cftool از چه روشی استفاده میکنه؟ least-square یا ghi-square یا …؟
سلام
cftool یک ابزار است که کار برازش را ساده کرده و خیلی از روش ها را پشتیبانی می کند.
least-square
least square