درون یابی دو خطی — به زبان ساده
در ریاضیات، درون یابی دو خطی (Bilinear Interpolation) تعمیمی از درونیابی خطی برای درونیابی توابع دو متغیره (به عنوان مثال، تابعی از x و y) در یک شبکه دو بُعدی افقی-عمودی است. درون یابی دو خطی با استفاده از درونیابی خطی ابتدا در یک جهت و سپس به کار گیری آن در جهت دیگر انجام میشود. اگرچه هر مرحله الگوریتم درون یابی دو خطی خطی است، اما پاسخ نهایی به دست آمده دیگر خطی نیست و میتوان گفت که درجه دوم است. درون یابی دو خطی یکی از تکنیکهای اساسی «بازنمونهگیری» (Resampling) در بینایی ماشین و پردازش تصویر است.
الگوریتم درون یابی دو خطی
فرض کنید میخواهیم مقدار تابع مجهول $$ f $$ را در نقطه $$ ( x , y ) $$ بیابیم. فرض میکنیم که مقدار $$f$$ را در چهار نقطه $$ Q _ {11} = ( x_1 , y _ 1 )$$، $$ Q _ { 1 2} = ( x _ 1 , y _ 2 ) $$، $$ Q _ { 21} = ( x _ 2 , y _ 1 ) $$ و $$ Q _ { 22} = ( x _ 2 , y _ 2 ) $$ میدانیم.
ابتدا درونیابی خطی را برای $$ x $$ انجام میدهیم. در نتیجه، خواهیم داشت:
$$ \begin {align}
f ( x , y _ 1 ) & \approx \frac { x _ 2 - x } { x _ 2 - x _ 1 } f ( Q _ { 1 1 } ) + \frac { x - x _ 1 } { x _ 2 - x _ 1 } f ( Q _ { 2 1 } ) , \\
f ( x , y _ 2 ) & \approx \frac { x _ 2 - x } { x _ 2 - x _ 1 } f ( Q _ { 1 2 } ) + \frac { x - x _ 1 } { x _ 2 - x _ 1 } f ( Q _ { 2 2 } ) .
\end {align} $$
در ادامه، درونیابی را برای $$ y $$ انجام داده و مقدار مطلوب را به دست خواهیم آورد:
$$ \begin {align}
f ( x , y ) & \approx \frac { y _ 2 – y } { y _ 2 – y _ 1 } f ( x , y _ 1 ) + \frac { y – y _ 1 } { y _ 2 – y _ 1 } f ( x , y _ 2 ) \\
& = \frac { y _ 2 – y } { y _ 2 – y _ 1 } \left ( \frac { x _ 2 -x } { x _ 2 – x _ 1 } f ( Q _ { 1 1 } ) + \frac { x – x _ 1 } { x _ 2 – x _ 1 } f ( Q _ { 2 1 } ) \right ) + \frac { y – y _ 1 } { y _ 2 – y _ 1 } \left ( \frac { x _ 2 – x } { x _ 2 – x _ 1 } f ( Q _ { 1 2 } ) + \frac { x – x _ 1 } { x _ 2 – x _ 1 } f ( Q _ { 2 2 } ) \right ) \\
& = \frac { 1 } { ( x _ 2 – x _ 1 ) ( y _ 2 – y _ 1 ) } \big ( f ( Q _ { 1 1 } ) ( x _ 2 – x ) ( y _ 2 – y ) + f ( Q _ { 2 1 } ) ( x – x _ 1 ) ( y _ 2 – y ) \\ & \quad \;+ f ( Q _ { 1 2 } ) ( x _ 2 – x ) ( y -y _ 1 ) + f ( Q _ { 2 2 } ) ( x – x _ 1 ) ( y- y _1 ) \big ) \\
& = \frac { 1 } { ( x _ 2 – x _ 1 ) ( y _ 2 – y _ 1 ) } \begin {bmatrix} x _ 2 – x & x – x _ 1 \end {bmatrix} \begin {bmatrix} f ( Q _ { 1 1 } ) & f ( Q _ { 1 2 } ) \\ f ( Q _ { 2 1 } ) & f ( Q _ { 2 2 } ) \end {bmatrix} \begin {bmatrix}
y _ 2 – y \\ y – y _ 1 \end {bmatrix} .
\end {align} $$
توجه کنید که اگر ابتدا درونیابی را برای $$ y $$ و بعد از آن برای $$ x $$ انجام دهیم، به نتیجه مشابهی خواهیم رسید.
شکل زیر، نمای بصری روش درون یابی دو خطی را نشان میدهد. در این شکل، چهار نقطه قرمز، نقاط داده هستند و نقطه سبز نقطه مورد نظر برای درونیابی است.
یک روش دیگر برای درون یابی دو خطی
یک روش دیگر برای یافتن جواب درون یابی دو خطی به صورت زیر است:
$$ f ( x , y ) \approx a _ 0 + a _ 1 x + a _ 2 y + a _ 3 x y $$
که در آن، ضرایب از حل دستگاه زیر به دست میآیند:
$$ \begin {align}
\begin {bmatrix}
1 & x _ 1 & y _ 1 & x _ 1 y _ 1 \\
1 & x _ 1 & y _ 2 & x _ 1 y _ 2 \\
1 & x _ 2 & y _ 1 & x _ 2 y _ 1 \\
1 & x _ 2 & y _ 2 & x _ 2 y _ 2
\end {bmatrix} \begin {bmatrix}
a _ 0 \\ a _ 1 \\ a _ 2 \\ a _ 3
\end {bmatrix} = \begin {bmatrix}
f ( Q _ { 1 1 } ) \\ f ( Q _ { 1 2 } ) \\ f ( Q _ { 2 1 } ) \\ f ( Q _ { 2 2 } )
\end {bmatrix}
\end {align} $$
این ضرایب به صورت زیر هستند:
$$ a _ 0 = \frac { f ( Q _ { 1 1 } ) x _ 2 y _ 2 } { ( x _ 1 - x _ 2 ) ( y _ 1 - y _ 2 ) } + \frac { f ( Q _ { 1 2 } ) x _ 2 y _ 1 }{ ( x _ 1 - x _ 2 ) ( y _ 2 - y _1 ) } + \frac { f ( Q _ { 2 1 } ) x _ 1 y _ 2 } { ( x _1 - x _ 2 ) ( y _ 2 - y _ 1 ) } + \frac { f ( Q _ { 2 2 } ) x _ 1 y _ 1 } { ( x _ 1 - x _ 2 ) ( y _ 1 - y _ 2 ) } , $$
$$ a _ 1 = \frac { f ( Q _ { 1 1 } ) y _ 2 } { ( x _ 1 - x _ 2 ) ( y _ 2 - y _ 1 ) } + \frac { f ( Q _ { 1 2 } ) y _ 1 } { ( x _ 1 - x _ 2 ) ( y _ 1 - y _ 2 ) } + \frac { f ( Q _ { 2 1 } ) y _ 2 } { ( x _ 1 - x _ 2 ) ( y _ 1 - y _ 2 ) } + \frac { f ( Q _ { 2 2 } ) y _ 1 } { ( x _ 1 - x _ 2 ) ( y _ 2 - y _ 1 ) } , $$
$$ a _ 2 = \frac { f ( Q _ { 1 1 } ) x _ 2 } { ( x _ 1 - x _ 2 ) ( y _ 2 - y _ 1 ) } + \frac { f ( Q _ { 1 2 } ) x _ 2 } { ( x _ 1 - x _ 2 ) ( y _ 1 - y _ 2 ) } + \frac { f ( Q _ { 2 1} ) x _ 1 } { ( x _ 1 - x _ 2 ) ( y _ 1 - y _ 2 ) } + \frac { f ( Q _ { 2 2 } ) x _ 1 } { ( x _ 1 - x _ 2 ) ( y _ 2 - y _ 1 ) } , $$
اگر بخواهیم جواب را برحسب $$ f ( Q ) $$ بنویسیم، خواهیم داشت:
$$ f ( x , y ) \approx b _ { 1 1 } f ( Q _ { 1 1 } ) + b _ { 1 2 } f ( Q _ { 1 2 } ) + b _ { 2 1 } f ( Q _ { 2 1 } ) + b _ { 2 2 } f ( Q _ { 2 2 } ) $$
که در آن، ضرایب را میتوان به صورت زیر به دست آورد:
$$ \begin {bmatrix}
b _ { 1 1 } \\ b _ { 1 2 } \\ b _ { 2 1 } \\ b _ { 2 2 }
\end {bmatrix} =
\left ( \begin {bmatrix}
1 & x _ 1 & y _ 1 & x _ 1 y _ 1 \\
1 & x _ 1 & y _ 2 & x _ 1 y _ 2 \\
1 & x _ 2 & y _ 1 & x _ 2 y _ 1 \\
1 & x _ 2 & y _ 2 & x _ 2 y _ 2
\end {bmatrix} ^ { - 1 } \right ) ^ { \rm T } \begin {bmatrix}
1 \\ x \\ y \\ x y
\end {bmatrix} . $$
درون یابی دو خطی مربع واحد
اگر دستگاه مختصاتی را انتخاب کنیم که چهار نقطه $$ f $$ آن $$ ( 0 , 0 )$$، $$ ( 1 , 0 ) $$، $$ ( 0 , 1 ) $$ و $$ ( 1 , 1 ) $$ باشند، آنگاه فرمول درونیابی به صورت زیر است:
$$ f ( x , y ) \approx f ( 0 , 0 ) ( 1 - x ) ( 1 - y ) + f ( 1 , 0 ) x ( 1 - y ) + f ( 0 , 1 ) ( 1 - x ) y + f ( 1 , 1 ) x y $$
یا به طور معادل به صورت ماتریسی داریم:
$$ f ( x , y ) \approx \begin {bmatrix} 1 - x & x \end {bmatrix} \begin {bmatrix} f ( 0 , 0 ) & f ( 0 , 1 ) \\ f ( 1 , 0 ) & f ( 1 , 1 ) \end {bmatrix} \begin {bmatrix}
1 - y \\ y \end {bmatrix} . $$
درون یابی دو خطی غیرخطی
همانگونه که از نام آن پیداست، درون یابی دو خطی خطی نیست و ضرب دو تابع خطی است. برای مثال، درون یابی دو خطی بالا که به دست آمد، دارای ضرب مقادیر $$ x $$ و $$ y $$ است.
همچنین، درونیابی در مربع واحد را میتوان به صورت زیر نوشت:
$$ f ( x , y ) = \sum _ { i = 0 } ^ 1 \sum _ { j = 0 } ^ 1 a _ { i j } x ^ i y ^ j = a _ { 0 0 } + a _ { 1 0 } x + a _ { 0 1 } y + a _ { 1 1 } x y $$
که در آن:
$$ \begin {align*} a _ { 0 0 } & = f ( 0 , 0 ) ,
\\ a _ { 1 0 } & = f ( 1 , 0 ) - f ( 0 , 0 ) ,
\\ a _ { 0 1 } & = f ( 0 , 1 ) - f ( 0 , 0 ) ,
\\ a _ { 1 1 } & = f ( 1 , 1 ) + f ( 0 , 0 ) -\big ( f ( 1 , 0 ) + f ( 0 , 1 ) \big ) . \end {align*} $$
نتیجه درون یابی دو خطی مستقل از آن محوری است که اول یا دوم درونیابی میشود. اگر در ابتدا درونیابی خطی در جهت $$ y$$ انتخاب و سپس در جهت $$ x $$ انجام شود، نتیجه تقریب مشابه خواهد بود.
اگر این مطلب برایتان مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای محاسبات عددی
- آموزش محاسبات عددی (مرور و حل مساله)
- مجموعه آموزشهای دروس ریاضیات
- آموزش محاسبات عددی با MATLAB
- درون یابی اسپلاین — از صفر تا صد
- درون یابی هرمیت — از صفر تا صد
- درون یابی خطی — به زبان ساده
^^
با سلام، خواهشمند است بفرمایید برای درونیابی دو بعدی در اکسل راه حل چیست؟ آیا تابعی وجود دارد؟