رفتن به مطلب

درون یابی در متلب


ارسال های توصیه شده

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

درون یابی یک بعدی

نرم افزار متلب دارای دو نوع درون یابی یک بعدی به صورت زیر است:

· درون یابی چند جمله ای polynomial interpolation

· درون یابی بر پایه تبدیل فوریه fft-fast fourier transform based interpolation

 

 

درون یابی چند جمله ای

در این روش، با استفاده از داده های موجود، یک تابع چند جمله ای بر داده ها برازش می شود و سپس مقدار تابع در نقاط میانی مورد نظر محاسبه می گردد. این فرایند توسط تابع interp1 انجام می شودکه شکل کلی آن به صورت زیر است:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

که در آن:

:yi برداری شامل مقادیر به دست آمده از درون یابی است.

y: برداری شامل مقادیر یک تابع است.

x: برداری با ابعاد است که شامل نقاطی می باشد که مقدار آنها داده شده است.

xi: برداری است که نقاطی را در برمی گیرد که باید مقادیر آنها درون یابی شوند.

method: رشته ای اختیاری است که درون یابی را مشخص می کند.

در شکل زیر رابطه بین بردارهای نشان داده شده است.

http://www.noandishaan.com/upload/images/1klqbdq7waest3yerr.jpg

چهار روش برای درون یابی یک بعدی وجود دارد:

1. درون یابی نزدیکترین همسایه :nearest neighbor interpolation

در این حالت

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

است. در این روش مقدار نقطه ای که باید درون یابی شود، برابر با مقدار نزدیکترین نقطه به آن در نظر گرفته می شود. این روش سریعترین روش درون یابی است ولی از لحاظ همواری دارای بدترین نتیجه است.

2. درون یابی خطی linear interpolation

در این حالت

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

است. این روش توابع خطی مختلف را بر هر جفت نقطه داده برازش می کند و سپس مقدار تابع مرتبط در هرکدام از نقاط مشخص شده توسط را بر می گرداند. در صورتی که هیچ رشته ای به عنوان روش ورودی دراین تابع وارد نکنید، این روش، روش پیش فرض برای تابع interp1 خواهد بود.روش درون یابی خطی تاحدی نیاز به زمان اجرای بیشتری دارد. برخلاف روش نزدیکترین همسایه، نتایج درون یابی خطی پیوسته است، ولی شیب آن در نقاط راس تغییر می کند.

 

 

3. درون یابی اسپلاین مکعبی cubic spline interpolation

در این حالت

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

است. این روش توابع مکعبی(درجه 3) مختلف را بر هر جفت نقطه داده، برازش کرده و سپس از تابع spline برای محاسبه مقدار نقطه مورد نظر برای درون یابی استفاده می نماید. این روش بالاترین زمان اجرا را در بین روشهای درون یابی یک بعدی دارد. روش درون یابی اسپلاین مکعبی دارای هموارترین نتیجه در بین روشهای درون یابی است.

4. درون یابی مکعبی cubic interpolaton

در این حالت

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

است. این روش از تابع باالگوریتم درون یابی هرمیتی مکعبی تکه ای بین بردارهای x و y استفاده می کند. این روش به حافظه و زمان اجرای بیشتری نسبت به روش نزدیکترین همسایه و درون یابی خطی نیاز دارد؛ البته داده های حاصل از درون یابی و مشتق آنها پیوسته است.

به عنوان مثال فرض کنید که ماتریسی به صورت زیر داریم:

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

فرض کنید که مثلا ستون اول این ماتریس نشان دهنده ارتفاع باشد، ستون دوم نشان دهنده دما، ستون سوم معرف چگالی و ستون چهارم هم معرف فشار باشد. می خواهیم از روش درون یابی ببینیم در ارتفاع 1420 مثلا دما چقدر است؟

برنامه این مثال در متلب به صورت زیر است:

http://www.noandishaan.com/upload/images/mhx7ztag9q8zp28m5u0.jpg

  • Like 12
لینک به دیدگاه
  • 1 سال بعد...
  • 10 ماه بعد...
  • 1 سال بعد...

سلام

میخواستم بدونم اگه داده های خیلی زیادی داشته باشیم مثلا هزار تا داده و بخوایم با دو دسته ی هزار تایی دیگه درون یابی رو انجام بدیم چکار باید بکنیم؟

لینک به دیدگاه
  • 2 هفته بعد...

سلام. اگر مثلا متغیری داشته باشیم که مقدار آن بر اساس تغییر 4 پارامتر تغییر میکند، مثلا مقاومت یک سازه. از چه دستوری در متلب برای درونیابی استفاده کنم؟

مثلا در مثالی که اینجا آوردین متناظر هر سطر ماتریس data یک مقدار y داشته باشیم

بعد درونیابی چنین داده هایی چطوری انجام میشه؟ (درونیابی 4 بعدی)

yi=interp???(data,data(:5),(x1,x2,x3,x4),method)آیا این دستور درسته؟

لینک به دیدگاه
  • 1 ماه بعد...
×
×
  • اضافه کردن...