操作方法
理解多项式插值的内涵,明确拉格朗日插值多项式的性质和计算方法。
打开Matlab软件。
新建M文件。 1:在Matlab中点击左上角的New加号按钮。 2:在弹出的下拉菜单中选择Script。 (Ps:可直接使用快捷键【Ctrl+N)】 软件就会弹出M函数编辑界面。)
编写拉格朗日插值函数程序: 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中输入给定数据x和y,以及需要计算插值点的值xh。如图输入后按【Enter】键,载入数据。
调用编写的程序,并运行。在Matlab的命令窗口输入【lagrange (x,y,xh)】按【Enter】键即可得到拉格朗日插值函数计算的插值。