開始學習MATLAB(R和Python先放一放。。。),老師推薦一本書,看完基礎就是各種算法。。。首先是各種插值。先說拉格朗日插值法,這原理樓主完全不懂的,查的維基百科,好久才看懂。那裡講的很詳細,這裡就不在贅述了。關于MATLAB的實作,查了很多資料,下面的版本最好了解。
%lagran1.m
%求拉格朗日插值多項式和基函數
%輸入的量:n+1個節點(x_i,y_i)(i = 1,2, ... , n+1)橫坐标向量X,縱坐标向量Y
%輸出的量:n次拉格朗日插值多項式L,基函數l
function [L,l] = lagran1(X,Y)
m = length(X); L = ones(m,m);
for k = 1 : m
V = 1;
for i = 1 : m
if k ~= i
V = conv(V,poly(X(i))) / (X(k) - X(i));
end
end
l(k, :) = poly2sym(V);
end
L = Y * l;
conv在此處用于多項式相乘。
關于poly2sym,是将數組轉化為多項式的函數,不指定符号,預設為x.

原文:http://www.cnblogs.com/buzhizhitong/p/5841293.html