اسپلاین مکعبی چیست و چرا از چندجمله‌ای درجهٔ بالا بهتر است؟

درون‌یابی اسپلاین

فرض کنید n+1n+1 نقطهٔ داده دارید و می‌خواهید منحنی‌ای از همهٔ آن‌ها بگذرانید. ساده‌ترین راه، چندجمله‌ای درون‌یاب درجهٔ nn است. مشکل: با افزایش نقاط، چندجمله‌ای در دو سر بازه نوسان‌های شدید می‌کند (پدیدهٔ رانگه).

راه‌حل: تکه‌تکه فکر کنید. به‌جای یک چندجمله‌ای بزرگ، در هر بازهٔ [xi,xi+1][x_i,x_{i+1}] یک چندجمله‌ای درجهٔ سه می‌گذاریم:

Si(x)=ai+bi(x−xi)+ci(x−xi)2+di(x−xi)3S_i(x)=a_i+b_i(x-x_i)+c_i(x-x_i)^2+d_i(x-x_i)^3

شرط‌ها طوری انتخاب می‌شوند که SS از همهٔ نقاط بگذرد و در هر نقطهٔ اتصال، خود تابع و مشتق اول و دوم پیوسته باشند. نتیجه منحنی‌ای است که چشم آن را «هموار» می‌بیند.

برای کامل‌شدن دستگاه دو شرط مرزی لازم است:


• اسپلاین طبیعی: S′′(x0)=S′′(xn)=0S''(x_0)=S''(x_n)=0 — وقتی دربارهٔ شیب دو سر چیزی نمی‌دانیم.
• اسپلاین مقید (clamped): S′(x0)=f′(x0)S'(x_0)=f'(x_0) و S′(xn)=f′(xn)S'(x_n)=f'(x_n) — وقتی شیب دو سر معلوم است؛ معمولاً دقیق‌تر است.

مثال: برای f(x)=exf(x)=e^x روی نقاط ۰، ۱، ۲، ۳ ضریب b0b_0 اسپلاین طبیعی تقریباً ۱٫۴۶۶ می‌شود (در حالی که شیب واقعی در صفر ۱ است)؛ اسپلاین مقید این اختلاف را از بین می‌برد.

کاربردها: رسم مسیر در گرافیک و رباتیک، هموار کردن داده‌های اندازه‌گیری و طراحی منحنی. در MathTech می‌توانید نقاط خود را وارد کنید و ضرایب هر بازه و نمودار را ببینید.