وقتی تعدادی داده ی گسسته داشته باشیم که هر کدام یک نقطه را در صفحه مشخص می کنند، (یعنی هر کدام یک مولفه x و یک مولفه y دارند) و بخواهیم بهترین معادله چندجمله ای که از این نقطه ها عبور می کند ( و این نقطه ها درآن صدق می کنند) را پیدا کنیم، از تابع polyfit در متلب استفاده می کنیم.
مثلا فرض کنید 5 نقطه در صفحه مختصات داریم.
می توانیم چند جمله ای ها با درجه های مختلف پیدا کنیم که کمترین فاصله را با این نقطه ها داشته باشند. البته هدف ما این است که چند جمله ای های به دست آمده از روی همه نقطه ها عبور کنند ولی خب این یک حالت ایده آل است و و همیشه قابل اجرا نیست. به این کار برازش منحنی در متلب می گویند.
باید مختصات نقاط مورد نظر را وارد تابع polyfit کنیم و درجه چند جمله ای مورد نظرمان را هم تعیین کنیم. در مثال زیر این موضوع کاملا روشن شده است.
مثال: 5 نقطه زیر را داریم و می خواهیم بهترین منحنی گذرنده از آن ها را با درجات مختلف پیدا کنیم.
در گام اول می خواهیم یک چند جمله ای درجه 2 بسازیم که بهترین حالت را نسبت به 5 نقطه بالا داشته باشیم. برای این کار در ورودی تابع polyfit ، ابتدا مقادیر x نقطه ها، سپس مقادیر y نقطه ها و سپس درجه چند جمله ای مورد نظرمان برای برازش یعنی عدد 2 را وارد می کنیم.
مشاهده می کنید که بردار ضرایب چند جمله ای به دست آمده در p1 ظاهر می شود.
حالا می خواهیم منحنی های درجه 3 و درجه 4 بسازیم که تا حد امکان از این 5 نقطه بگذرند و اصطلاحا fit شوند. باز هم مراحل بالا را دنبال می کنیم.
مثال: حالا اجازه بدهید بررسی کنیم و ببینیم که این چند جمله ای های برازش شده چه مقدار به 5 نقطه مطلوب ما نزدیک هستند.
برای اینکار ابتدا 5 نقطه را با دستور plot در صفحه رسم می کنیم و سپس هر کدام از منحنی ها را جداگانه ترسیم می نماییم. برای ترسیم منحنی ها، در همان بازه -2 تا 2 تعدادی نقطه با فاصله های کمتر تعریف کرده و آن ها را در متغیر x1 ذخیره می کنیم. سپس مولفه های y این نقطه ها را توسط تابع polyval در متلب به دست می آوریم. با به دست آمدن x ها و y های هر چند جمله ای می توانیم آنها را رسم کنیم.
برای منحنی درجه 2:
برای منحنی درجه 3:
برای منحنی درجه 4:
همانطور که مشخص است هر چه درجه چند جمله ای بیشتر می شود، برازش منحنی دقیق تر می شود و منحنی تخمین زده شده از نقطه های بیشتری عبور می کند.
در این قسمت با نحوه برازش منحنی در متلب آشنا شدیم. امیدوارم این مطلب برای شما مفید بوده باشد. می توانید سوالات خود را در پایین همین صفحه بنویسید تا در سریع ترین فرصت به آنها پاسخ دهیم