इंटरपोलेशन अज्ञात मान की एक प्रकार की अनुमान तकनीक है जो ज्ञात मूल्यों के बीच स्थित है। इंटरपोलेशन, ज्ञात डेटा बिंदुओं के असतत सेट की सीमा के बीच नए डेटा बिंदुओं के निर्माण की प्रक्रिया है।
प्रक्षेप का उपयोग करने के लिए एक आवेदन या कारण यह है कि यह गणना लागत को कम कर सकता है। जब कुछ मूल्यों की गणना करने के लिए सूत्र (फ़ंक्शन) गणना करने के लिए बहुत जटिल या महंगा है, तो हम इंटरपोलेशन का उपयोग करना पसंद करते हैं। कुछ डेटा बिंदुओं की गणना मूल फ़ंक्शन का उपयोग करके की जाती है, बाकी का अनुमान प्रक्षेप का उपयोग करके लगाया जा सकता है। ये पूरी तरह सटीक नहीं हो सकते हैं लेकिन काफी करीब हैं!
तो मूल रूप से यहाँ कम गणना लागत और सरलता प्रक्षेप त्रुटि से होने वाले नुकसान से अधिक है।
बेसेल इंटरपोलेशन फॉर्मूला
f(u) = {(f(0)+f(1))/2} + {u - ½}𝛥f(0) + {u(u-1)/2!}{(𝛥2 f(-1) + 𝛥2 f(0))/2} + {u(u-1)(u - ½)/3!}𝛥3f(-1) + {u(u+1)(u-1)(u-2)/4!}{(𝛥4f(-2) + 𝛥4f(-1))/2}+..
यहाँ,
f(0) मूल बिंदु है जो आमतौर पर मध्य बिंदु होता है।
u =x - f(0) / h, gh अंतर का अंतराल है
उदाहरण
बेसल के प्रक्षेप को दर्शाने वाला कार्यक्रम -
#include <iostream> using namespace std; float calU(float u, int n){ if (n == 0) return 1; float result = u; for (int i = 1; i <= n / 2; i++) result = result*(u - i); for (int i = 1; i < n / 2; i++) result = result*(u + i); return result; } int factorial(int n){ if(n == 1) return 1; return n * factorial(n-1); } int main(){ int n = 6; float x[] = { 50, 51, 52, 53, 54, 55 }; float y[n][n]; y[0][0] = 8.000; y[1][0] = 7.746; y[2][0] = 7.674; y[3][0] = 7.571; y[4][0] = 7.469; y[5][0] = 7.231; for (int i = 1; i < n; i++) for (int j = 0; j < n - i; j++) y[j][i] = y[j + 1][i - 1] - y[j][i - 1]; float value = 53.2; float sum = (y[2][0] + y[3][0]) / 2; int index; if (n % 2) index = n/2; else index = n/2 - 1; float u = (value - x[index]) / (x[1] - x[0]); for (int i = 1; i < n; i++) { if (i % 2) sum+= (((u-(0.5))*calU(u, i - 1)*y[index][i])/factorial(i)); else sum+= ((calU(u, i)*(y[index][i]+y[-- index][i])/(factorial(i)*2))); } cout<<"Value at "<<value<<" found using Bessels's interpolation is "<<sum; return 0; }
आउटपुट
Value at 53.2 found using Bessels's interpolation is 7.54985