Vandermonde அணி மூலம் பல்லுறுப்புக்கோவை இடைக்கணிப்பு (Lagrange இடைக்கணிப்பு) – Matlab / GNU Octave நிரல்
Published by Arun Isaac on
In other languages: English
சில ஆண்டுகளுக்கு முன், பல்லுறுப்புக்கோவை இடைக்கணிப்பை Matlab அல்லது GNU Octave யில் செய்வதைப் பற்றி இந்த பதிவை எழுதினேன். இதை Vandermonde அணி மூலம் ஒற்றை வரியிலேயே செய்யலாம். அதைக் கீழ் காணலாம்.
function coeff = lagrange(xpts, fpts) %% Lagrange interpolation fitting polynomial p(x) to function f(x) %% %% p(x) = a_n x^n + a_{n-1} x^{n-1} + a_{n-2} x^{n-2} + ... + a_1 x + a_0 %% %% xpts -- column vector of sampling points %% fpts -- column vector with value of the function at the sampling points %% coeff -- column vector of polynomial coefficients in the form [a_n, a_{n-1}, a_{n-2}, ... , a_1, a_0]' coeff = vander(xpts) \ fpts;
கூறெடுத்தப் புள்ளிகளைப் பல்லுறுப்புக்கோவைகளுக்குப் பொருத்துவதே பல்லுறுப்புக்கோவை இடைக்கணிப்பாகும். பொருத்தப்பட்ட பல்லுறுப்புக்கோவையின் கெழுக்கள் நேரியல் சமன்பாட்டுத் தொகுப்பொன்றின் தீர்வு திசையனே.
இந்நிரல் சுருக்கமானது. ஆனால் Vandermonde நேரியல் சமன்பாட்டுத் தொகுப்பைத் தீர்த்தல் தாழ்நிலையான கணக்கு. கூறெடுப்புப் புள்ளிகள் அதிகமாக மிதவைப்புள்ளி பிழைகள் வேகமாகப் பெருகும் என்பதை மனதில் கொள்ளவும்.