interp1

ساخت وبلاگ

VQ = interp1 (X ، V ، XQ) مقادیر درون یابی یک تابع 1-D را در نقاط پرس و جو خاص با استفاده از درون یابی خطی باز می گرداند. وکتور X حاوی نقاط نمونه است و V حاوی مقادیر مربوطه ، v (x) است. وکتور XQ شامل مختصات نقاط پرس و جو است.

اگر چندین مجموعه داده دارید که در همان مختصات نقطه نمونه برداری می شوند ، می توانید V را به عنوان یک آرایه منتقل کنید. هر ستون از آرایه V حاوی مجموعه ای متفاوت از مقادیر نمونه 1-D است.

VQ = interp1 (x ، v ، xq ، روش) یک روش درون یابی جایگزین را مشخص می کند: "خطی" ، "نزدیکترین" ، "بعدی" ، "قبلی" ، "pchip" ، "مکعب" ، "v5cubic" ، "makima" ،یا "spline". روش پیش فرض "خطی" است.

VQ = interp1 (x ، v ، xq ، روش ، برون یابی) یک استراتژی برای ارزیابی نقاطی که در خارج از دامنه x قرار دارد ، مشخص می کند. هنگامی که می خواهید از الگوریتم روش برای برون یابی استفاده کنید ، برون یابی را روی "استخراج" تنظیم کنید. از طرف دیگر ، می توانید یک مقدار مقیاس را مشخص کنید ، در این صورت ، Interp1 این مقدار را برای تمام نقاط خارج از دامنه x باز می گرداند.

VQ = interp1 (V ، XQ) مقادیر درون یابی را باز می گرداند و مجموعه ای پیش فرض از مختصات نقطه نقطه را فرض می کند. نقاط پیش فرض توالی اعداد از 1 تا N است ، جایی که n به شکل V بستگی دارد:

هنگامی که V یک بردار است ، نقاط پیش فرض 1: طول (v) است.

هنگامی که V یک آرایه است ، نقاط پیش فرض 1: اندازه (V ، 1) است.

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

VQ = interp1 (V ، XQ ، Method) هر یک از روش های درون یابی جایگزین را مشخص می کند و از نقاط نمونه پیش فرض استفاده می کند.

VQ = interp1 (V ، XQ ، روش ، برون یابی) یک استراتژی برون یابی را مشخص می کند و از نقاط نمونه پیش فرض استفاده می کند.

pp = interp1 (x ، v ، روش ، "pp") با استفاده از الگوریتم روش ، فرم چند جمله ای p-pivewise v (x) را برمی گرداند.

توجه داشته باشید

این نحو توصیه نمی شود. به جای آن از GriddedInterPolant استفاده کنید.

مثال ها

درون یابی عملکرد سینوسی درشت نمونه برداری

نقاط نمونه ، x و مقادیر نمونه مربوطه را تعریف کنید ، v.

نقاط پرس و جو را تعریف کنید تا نمونه ای دقیق تر در محدوده X باشد.

عملکرد را در نقاط پرس و جو درج کنید و نتیجه را ترسیم کنید.

Figure contains an axes object. The axes object with title (Default) Linear Interpolation contains 2 objects of type line.

اکنون V را در همان نقاط با استفاده از روش "Spline" ارزیابی کنید.

Figure contains an axes object. The axes object with title Spline Interpolation contains 2 objects of type line.

درون یابی بدون مشخص کردن امتیاز

مجموعه ای از مقادیر عملکرد را تعریف کنید.

مجموعه ای از نقاط پرس و جو را که بین نقاط پیش فرض ، 1: 9 قرار می گیرد ، تعریف کنید. در این حالت ، نقاط پیش فرض 1: 9 است زیرا V حاوی 9 مقدار است.

ارزیابی V در XQ.

نتیجه را ترسیم کنید.

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent v, vq.

درون یابی مقادیر پیچیده

مجموعه ای از نقاط نمونه را تعریف کنید.

مقادیر عملکرد ، v (x) = 5 x + x 2 i را در نقاط نمونه تعریف کنید.

نقاط پرس و جو را تعریف کنید تا نمونه ای دقیق تر در محدوده X باشد.

Interpolate V در نقاط پرس و جو.

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

Figure contains an axes object. The axes object contains 4 objects of type line.

درون یابی خرما و زمان

نقاط داده با مهر و موم شده را درون یابی کنید.

یک مجموعه داده حاوی خوانش دما را در نظر بگیرید که هر چهار ساعت اندازه گیری می شود. یک جدول با ارزش یک روز داده ایجاد کنید و داده ها را ترسیم کنید.

Figure contains an axes object. The axes object contains an object of type line.

مجموعه داده ها را برای پیش بینی خواندن دما در هر دقیقه از روز درج کنید. از آنجا که داده ها دوره ای است ، از روش درون یابی "Spline" استفاده کنید.

نقاط درون یابی را ترسیم کنید.

Figure contains an axes object. The axes object contains 2 objects of type line.

برون یابی با استفاده از دو روش مختلف

نقاط نمونه ، x و مقادیر نمونه مربوطه را تعریف کنید ، v.

نقاط پرس و جو ، XQ را مشخص کنید ، که فراتر از دامنه x است.

V را در XQ با استفاده از روش "PCHIP" ارزیابی کنید.

در مرحله بعد ، V را در XQ با استفاده از روش "خطی" ارزیابی کنید.

اکنون از روش "خطی" با گزینه "Extrap" استفاده کنید.

"PCHIP" به طور پیش فرض استخراج می شود ، اما "خطی" چنین نمی کند.

ارزش ثابت را برای همه نمایش داده شدگان خارج از دامنه x تعیین کنید

نقاط نمونه ، x و مقادیر نمونه مربوطه را تعریف کنید ، v.

نقاط پرس و جو ، XQ را مشخص کنید ، که فراتر از دامنه x است.

اکنون V را در XQ با استفاده از روش "PCHIP" ارزیابی کنید و هر مقداری را در خارج از دامنه X به مقدار ، 27 اختصاص دهید.

چندین مجموعه از داده ها را در یک پاس درون پر کنید

نقاط نمونه را تعریف کنید.

نمونه سه عملکرد مختلف پارابولیک در نقاط تعریف شده در x.

ماتریس V را ایجاد کنید که ستون های آن بردارها ، V1 ، V2 و V3 است.

مجموعه ای از نقاط پرس و جو ، XQ را تعریف کنید تا نمونه ای دقیق تر در محدوده X باشد.

هر سه عملکرد را در XQ ارزیابی کرده و نتایج را ترسیم کنید.

Figure contains an axes object. The axes object contains 6 objects of type line.

محافل موجود در طرح نمایانگر V است ، و خطوط جامد نشان دهنده VQ است.

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

X - بردار نقاط نمونه

نقاط نمونه ، به عنوان یک ردیف یا بردار ستون اعداد واقعی مشخص شده است. مقادیر موجود در X باید متمایز باشد. طول x باید مطابق با یکی از الزامات زیر باشد:

اگر V یک بردار باشد ، طول (x) باید طول برابر (v) باشد.

اگر V یک آرایه باشد ، طول (x) باید اندازه برابر (v ، 1) باشد.

مثال: [1 2 3 4 5 6 7 8 9 10]

مثال: 1:10

مثال: [3 7 11 15 19 23 27 31]

انواع داده ها: مجرد |دوتایی |مدت زمان |زمان قرار

V - وکتور مقادیر نمونه |ماتریس |آرایه

مقادیر نمونه ، به عنوان یک بردار ، ماتریس یا آرایه ای از اعداد واقعی یا پیچیده مشخص شده است. اگر V یک ماتریس یا یک آرایه باشد ، هر ستون حاوی یک مجموعه جداگانه از مقادیر 1-D است.

اگر v حاوی اعداد پیچیده باشد ، سپس interp1 قطعات واقعی و خیالی را به طور جداگانه درون یابی می کند.

مثال: رند (1،10)

مثال: رند (10،1)

مثال: رند (10،3)

انواع داده ها: مجرد |دوتایی |مدت زمان |پشتیبانی شماره پیچیده DateTime: بله

XQ - SCALAR SCALAR |بردار |ماتریس |آرایه

نقاط پرس و جو ، به عنوان مقیاس ، بردار ، ماتریس یا آرایه اعداد واقعی مشخص شده است.

مثال: 5

مثال: 1: 0. 05: 10

مثال: (1: 0. 05: 10)

مثال: [0 1 2 7. 5 10]

انواع داده ها: مجرد |دوتایی |مدت زمان |زمان قرار

روش - روش درون یابی "خطی" (پیش فرض) |"نزدیکترین" |"بعدی" |"قبلی" |'pchip' |"مکعب" |'v5cubic' |'Makima' |'spline'

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

درون یابی خطی. مقدار درون یابی در یک نقطه پرس و جو مبتنی بر درون یابی خطی مقادیر در نقاط شبکه همسایه در هر بعد مربوطه است. این روش پیش فرض درون یابی است.

حداقل 2 امتیاز نیاز دارد

به حافظه و زمان محاسبه بیشتر از نزدیکترین همسایه نیاز دارد

نزدیکترین درون یابی همسایه. مقدار درون یابی در یک نقطه پرس و جو مقدار در نزدیکترین نقطه شبکه نمونه است.

حداقل 2 امتیاز نیاز دارد

الزامات حافظه متوسط

سریعترین زمان محاسبه

درون یابی همسایه بعدی. مقدار درون یابی در یک نقطه پرس و جو مقدار در نقطه شبکه نمونه بعدی است.

حداقل 2 امتیاز نیاز دارد

همان نیازهای حافظه و زمان محاسبه به عنوان "نزدیکترین"

درون یابی همسایه قبلی. مقدار درون یابی در یک نقطه پرس و جو مقدار در نقطه شبکه نمونه قبلی است.

حداقل 2 امتیاز نیاز دارد

همان نیازهای حافظه و زمان محاسبه به عنوان "نزدیکترین"

درون یابی مکعب قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه قطعه شدهمقدار درون یابی در یک نقطه پرس و جو مبتنی بر یک درون یابی مکعب پراکنده از مقادیر در نقاط شبکه همسایه است.

حداقل 4 امتیاز نیاز دارد

به حافظه و زمان محاسبه بیشتر از "خطی" نیاز دارد

حلقوی مکعب مورد استفاده در MATLAB ® 5.

حداقل به 3 امتیاز نیاز دارد

نقاط باید به طور یکنواخت فاصله داشته باشند

این روش برای داده های فاصله نامنظم به درون یابی "spline" باز می گردد

نیازهای مشابه حافظه و زمان محاسبه به عنوان "PCHIP"

درون یابی هرمیت مکعب Akima اصلاح شده. مقدار درون یابی در یک نقطه پرس و جو مبتنی بر یک عملکرد پراکنده چند جمله ای با درجه حداکثر سه است. فرمول Akima برای جلوگیری از بیش از حد اصلاح شده اصلاح شده است.

حداقل 2 امتیاز نیاز دارد

تعداد کمتری نسبت به "spline" تولید می کند ، اما به اندازه "pChip" پرخاشگر نمی شود

محاسبه گرانتر از "PCHIP" است ، اما به طور معمول کمتر از "spline" است

الزامات حافظه شبیه به "spline" است

درون یابی Spline با استفاده از شرایط پایان گره. مقدار درون یابی در یک نقطه پرس و جو مبتنی بر درون یابی مکعب مقادیر در نقاط شبکه همسایه در هر بعد مربوطه است.

حداقل 4 امتیاز نیاز دارد

به حافظه و زمان محاسبه بیشتر از "PCHIP" نیاز دارد

برون یابی - استراتژی برون یابی "برون یابی" |ارزش مقیاس

استراتژی برون یابی ، به عنوان "برون یابی" یا یک مقدار مقیاس واقعی مشخص شده است.

"Extrap" را مشخص کنید وقتی می خواهید InterP1 با استفاده از همان روشی که برای درون یابی استفاده می کند ، نقاط خارج از دامنه را ارزیابی کند.

هنگامی که می خواهید InterP1 یک مقدار ثابت خاص را برای نقاط خارج از دامنه برگرداند ، یک مقدار مقیاس را مشخص کنید.

رفتار پیش فرض به آرگومان های ورودی بستگی دارد:

اگر روشهای درون یابی "PCHIP" ، "Spline" یا "Makima" را مشخص کنید ، رفتار پیش فرض "استخراج" است.

تمام روشهای درون یابی دیگر NAN را به طور پیش فرض برای نقاط پرس و جو در خارج از دامنه باز می گردند.

مثال: "استخراج"

مثال: 5

انواع داده ها: char |رشته |تک |دو برابر

استدلال های خروجی

VQ - مقادیر درون یابی مقیاس |بردار |ماتریس |آرایه

مقادیر درون یابی ، به عنوان مقیاس ، بردار ، ماتریس یا آرایه بازگردانده شد. اندازه VQ به شکل V و XQ بستگی دارد.

شکل V شکل XQ اندازه VQ مثال
بردار بردار اندازه (XQ) اگر اندازه (v) = [1 100] و اندازه (xq) = [1 500] ، سپس اندازه (vq) = [1 500].
بردار آرایه ماتریس یا N-D اندازه (XQ) اگر اندازه (v) = [1 100] و اندازه (xq) = [50 30] ، سپس اندازه (vq) = [50 30].
آرایه ماتریس یا N-D بردار [طول (xq) اندازه (v ، 2). اندازه (v ، n)] اگر اندازه (v) = [100 3] و اندازه (xq) = [1 500] ، سپس اندازه (vq) = [500 3].
آرایه ماتریس یا N-D آرایه ماتریس یا N-D [اندازه (XQ ، 1). اندازه (xq ، n). اندازه (v ، 2). اندازه (v ، m)] اگر اندازه (v) = [4 5 6] و اندازه (xq) = [2 3 7] ، سپس اندازه (vq) = [2 3 7 5 6].

PP - ساختار چند جمله ای پراکنده

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

بیشتر در مورد

درون یابی آکیما و اسپلین

الگوریتم AKIMA برای درون یابی یک بعدی ، که در [1] و [2] شرح داده شده است ، درون یابی مکعب را انجام می دهد تا چند جملهای پراکنده با مشتقات مرتبه اول مداوم (C1) تولید کند. این الگوریتم شیب را حفظ می کند و از عایق بندی در مناطق مسطح جلوگیری می کند. هر زمان که سه یا چند نقطه متوالی متوالی وجود داشته باشد ، یک منطقه مسطح رخ می دهد که الگوریتم با یک خط مستقیم به آن متصل می شود. برای اطمینان از اینکه منطقه بین دو نقطه داده مسطح است ، یک نقطه داده اضافی بین این دو نقطه وارد کنید.

هنگامی که دو منطقه مسطح با دامنه های مختلف ملاقات می کنند ، اصلاحات در الگوریتم اصلی Akima وزن بیشتری را به طرفی که شیب به صفر نزدیکتر است ، می دهد. این اصلاح به طرفی که به افقی نزدیکتر است ، اولویت می دهد ، که بصری تر است و از بیش از حد جلوگیری می کند.(الگوریتم اصلی Akima وزن مساوی را به نقاط هر دو طرف می دهد ، بنابراین به طور مساوی تقسیم را تقسیم می کند.)

از طرف دیگر ، الگوریتم Spline ، درون یابی مکعب را انجام می دهد تا چند جملهای پراکنده با مشتقات مرتبه دوم مداوم (C2) تولید کند. نتیجه با یک درون یابی چند جمله ای معمولی قابل مقایسه است ، اما در نوسانات سنگین بین نقاط داده برای درجه های بالا حساسیت کمتری دارد. با این وجود ، این روش می تواند مستعد ابتلا به بیش از حد و نوسانات بین نقاط داده باشد.

در مقایسه با الگوریتم Spline ، الگوریتم AKIMA کمتری تولید می کند و برای مقابله با تغییرات سریع بین مناطق مسطح مناسب تر است. این تفاوت در زیر با استفاده از داده های آزمون که چندین منطقه مسطح را به هم متصل می کند نشان داده شده است.

Plot of 1-D test data with multiple flat regions. The spline algorithm produces undulations in the flat regions, while the Akima algorithm smoothly coects the points.

منابع

[1] آکیما ، هیروشی."یک روش جدید برای درون یابی و اتصالات منحنی صاف بر اساس رویه های محلی."مجله ACM (JACM) ، 17. 4 ، 1970 ، صص 589-602.

[2] آکیما ، هیروشی."روشی از درون یابی دو متغیره و اتصالات سطح صاف بر اساس روشهای محلی."ارتباطات ACM ، 17. 1 ، 1974 ، صص 18-20.

قابلیت های گسترده

C/C ++ تولید کد C و C ++ با استفاده از Coder MATLAB®.

یادداشت ها و محدودیت های استفاده:

آرگومان ورودی X (نقاط نمونه) باید به شدت در حال افزایش باشد یا به شدت کاهش یابد. شاخص ها دوباره مرتب نمی شوند.

اگر آرگومان ورودی V (مقادیر نمونه) یک بردار با طول متغیر باشد (1 به: یا: -by-1) ، پس شکل VQ خروجی با شکل در MATLAB مطابقت دارد.

اگر آرگومان ورودی V اندازه متغیر باشد ، یک بردار با طول متغیر نیست و در زمان اجرا به یک بردار ردیف تبدیل می شود ، یک خطا رخ می دهد.

اگر مقادیر نمونه یا نقاط پرس و جو حاوی Inf ی ا-Inf باشند، ممکن است خروجی کد تولید شده با خروجی MATLAB مطابقت نداشته باشد.

اگر آرگومان ورودی xq (نقاط پرس و جو) اندازه متغیر باشد، بردار طول متغیر نباشد و در زمان اجرا تبدیل به بردار سطر یا ستون شود، خطا رخ می دهد.

تولید کد GPU با استفاده از GPU Coder™ کد CUDA را برای پردازنده های گرافیکی NVIDIA® تولید کنید.

یادداشت ها و محدودیت های استفاده:

آرگومان ورودی X (نقاط نمونه) باید به شدت در حال افزایش باشد یا به شدت کاهش یابد. شاخص ها دوباره مرتب نمی شوند.

اگر آرگومان ورودی V (مقادیر نمونه) یک بردار با طول متغیر باشد (1 به: یا: -by-1) ، پس شکل VQ خروجی با شکل در MATLAB مطابقت دارد.

اگر آرگومان ورودی V اندازه متغیر باشد ، یک بردار با طول متغیر نیست و در زمان اجرا به یک بردار ردیف تبدیل می شود ، یک خطا رخ می دهد.

اگر آرگومان ورودی xq (نقاط پرس و جو) اندازه متغیر باشد، بردار طول متغیر نباشد و در زمان اجرا تبدیل به بردار سطر یا ستون شود، خطا رخ می دهد.

محیط مبتنی بر رشته کد را در پس زمینه با استفاده از MATLAB backgroundPool اجرا کنید یا کد را با جعبه ابزار محاسبات موازی ThreadPool تسریع کنید.

این تابع به طور کامل از محیط های Thread-based پشتیبانی می کند. برای اطلاعات بیشتر، اجرای توابع MATLAB در محیط Thread-Based Environment را ببینید.

آرایه های GPU با اجرا بر روی واحد پردازش گرافیکی (GPU) با استفاده از جعبه ابزار محاسبات موازی، کد را تسریع می کنند.

یادداشت ها و محدودیت های استفاده:

روش باید 'خطی'، 'نزدیکترین'، 'مکعبی'، 'v5cubic' یا 'spline' باشد.

برای اطلاعات بیشتر، به اجرای توابع MATLAB در یک GPU (جعبه ابزار محاسبات موازی) مراجعه کنید.

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

این تابع به طور کامل از آرایه های توزیع شده پشتیبانی می کند. برای اطلاعات بیشتر، اجرای توابع متلب با آرایه های توزیع شده (جعبه ابزار محاسبات موازی) را ببینید.

تاریخچه نسخه

R2020b: روش "مکعبی" interp1 کانولوشن مکعبی را انجام می دهد

در R2020b، روش درون یابی "مکعبی" interp1 کانولوشن مکعبی را انجام می دهد. روش های درون یابی 'v5cubic' و 'cubic' اکنون همان نوع درون یابی را انجام می دهند که با رفتار interp2، interp3 و interpn سازگار است. روش درونیابی کانولوشن مکعبی برای داده های با فاصله یکنواخت در نظر گرفته شده است، و برای داده های با فاصله نامنظم به درون یابی spline برمی گردد.

در نسخه های قبلی، 'cubic' همان 'pchip' بود و تنها 'v5cubic' کانولوشن مکعبی را انجام می داد.

پلتفرم های تجاری...
ما را در سایت پلتفرم های تجاری دنبال می کنید

برچسب : نویسنده : مریم کاویانی بازدید : <-PostHit-> تاريخ : جمعه 9 تير 1402 ساعت: 16:22