在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫・拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。
Matlab编程实现拉格朗日插值法计算插值――工具/原料Matlab2014aMatlab编程实现拉格朗日插值法计算插值――方法/步骤
Matlab编程实现拉格朗日插值法计算插值 1、
理解多项式插值的内涵,明确拉格朗日插值多项式的性质和计算方法。
Matlab编程实现拉格朗日插值法计算插值 2、
打开Matlab软件。
Matlab编程实现拉格朗日插值法计算插值 3、
新建M文件。
1:在Matlab中点击左上角的New加号按钮。
2:在弹出的下拉菜单中选择Script。
(Ps:可直接使用快捷键【Ctrl+N)】
软件就会弹出M函数编辑界面。)
Matlab编程实现拉格朗日插值法计算插值_约瑟夫・拉格朗日
Matlab编程实现拉格朗日插值法计算插值 4、
编写拉格朗日插值函数程序:
function yh=lagrange (x,y,xh)
n = length(x);
m = length(xh);
yh = zeros(1,m);
c1 = ones(n-1,1);
c2 = ones(1,m);
for i=1:n
xp = x([1:i-1 i+1:n]);
yh = yh + y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2));
end
注:该程序只可一次计算实现一个插值计算。可实现多个插值计算的程序如下:
function yh=lagrange(x,y,xh)
n = length(x);
m = length(xh);
x = x(:);
y = y(:);
xh = xh(:);
yh = zeros(m,1);
c1 = ones(1,n-1);
c2 = ones(m,1);
for i=1:n,
xp = x([1:i-1 i+1:n]);
yh = yh + y(i) * prod((xh*c1-c2*xp')./(c2*(x(i)*c1-xp')),2);
end
Matlab编程实现拉格朗日插值法计算插值 5、
保存文件,需要特别注意的是文件名应与函数名相同。
Matlab编程实现拉格朗日插值法计算插值 6、
在Matlab中输入给定数据x和y,以及需要计算插值点的值xh。如图输入后按【Enter】键,载入数据。
Matlab编程实现拉格朗日插值法计算插值_约瑟夫・拉格朗日
Matlab编程实现拉格朗日插值法计算插值 7、
调用编写的程序,并运行。在Matlab的命令窗口输入【lagrange (x,y,xh)】按【Enter】键即可得到拉格朗日插值函数计算的插值。
Matlab编程实现拉格朗日插值法计算插值――注意事项本文笔者所用的Matkab版本为2014a,其他版本均适用,只是2012a及以前的版本界面差别较大。