درونیابی دوخطی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
چهار نقطه قرمز نقاط داده و نقطه سبز نقطه مورد نظر ما برای درونیابی است.
مثال درونیابی دوخطی روی مربع واحد با مقدارهای z ۰،۱،۱ و ۰.۵ همانطوری که نشان داده شده و مقدارهای درونیابی شده بین آنها با رنگ مشخص شده است.

درونیابی دوخطی (به انگلیسی: Bilinear interpolation) در ریاضیات توسعه درونیابی خطی است که بر روی دو متغیر در جدول دو بعدی معمولی عمل می‌کند. تابع‌های درونیابی شده نباید از جمله‌های x^2 یا y^2 استفاده کند و تنها x y که حالت دو خطی دو متغیر است استفاده خواهند شد.

ایده اصلی درونیابی دو خطی این است که در ابتدا درونیابی در یک جهت انجام شود و پس از این کار مجدد درونیابی در جهت دیگر هم بدست بیاید. با وجود این که هر گام الگوریتم خطی هستند پاسخ نهایی بدست آمده دیگر خطی نیست.

الگوریتم[ویرایش]

فرض کنید مقدار ناشناخته تابع f در نقطه P = (x، y) مدنظر باشد. اینگونه فرض خواهد شد که مقادیر f در نقاط Q11 = (x1، y1Q12 = (x1، y2Q21 = (x2، y1) و Q22 = (x2، y2) مشخص هستند.

ابتدا درونیابی در سمت x انجام خواهد شد و نتیجه زیر بدست می‌آید:

 f(R_1) \approx \frac{x_2-x}{x_2-x_1} f(Q_{11}) + \frac{x-x_1}{x_2-x_1} f(Q_{21})

که در آن R_1 = (x,y_1)،

 f(R_2) \approx \frac{x_2-x}{x_2-x_1} f(Q_{12}) + \frac{x-x_1}{x_2-x_1} f(Q_{22})

که در آن R_2 = (x,y_2).

با درونیابی در سمت y ادامه خواهیم داد.

 f(P) \approx \frac{y_2-y}{y_2-y_1} f(R_1) + \frac{y-y_1}{y_2-y_1} f(R_2).

بدین ترتیب مقدار تقریبی (f (x، y بدست می‌آید.

\begin{align}
f(x,y) \approx & \, \frac{f(Q_{11})}{(x_2-x_1)(y_2-y_1)} (x_2-x)(y_2-y) \, + \\
               & \, \frac{f(Q_{21})}{(x_2-x_1)(y_2-y_1)} (x-x_1)(y_2-y) \, + \\
               & \, \frac{f(Q_{12})}{(x_2-x_1)(y_2-y_1)} (x_2-x)(y-y_1) \, + \\
               & \, \frac{f(Q_{22})}{(x_2-x_1)(y_2-y_1)} (x-x_1)(y-y_1) \\
             = & \, \frac{1}{(x_2-x_1)(y_2-y_1)} \Big(  f(Q_{11})(x_2-x)(y_2-y) \, + \\
               & \, \qquad \qquad \qquad \qquad \; \;    f(Q_{21})(x-x_1)(y_2-y) \, + \\
               & \, \qquad \qquad \qquad \qquad \; \;    f(Q_{12})(x_2-x)(y-y_1) \, + \\
               & \, \qquad \qquad \qquad \qquad \; \;    f(Q_{22})(x-x_1)(y-y_1) \quad \Big).
\end{align}[۱]

منابع[ویرایش]

  1. مشارکت‌کنندگان ویکی‌پدیا، «Bilinear interpolation»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۲۷ نوامبر ۲۰۱۲).