上传者: 38557838
|
上传时间: 2021-11-20 12:03:43
|
文件大小: 347KB
|
文件类型: -
在线matlab代码格式化
#数值分析实验报告
秦格华
上海交通大学计算机科学与技术系14级本科生
5140219335
2016.12
##题目一
在区间$[-1,1]$上分别取$n
=
10,20$,用两组等距节点对龙格函数$f(x)
=
{1
\over
{1+25x^2}}$作多项式插值,对每个n值,分别画出差值函数及$f(x)$的图形。
利用MATLAB定义拉格朗日插值函数如下:
function
y1=lagrange(x0,y0,x1)
n=length(x0);
syms
x;
for
k=1:n
l(k)=x/x;
for
p=1:n
if
p~=k
l(k)=l(k)*(x-x0(p))/(x0(k)-x0(p));
end
end
end
z=0;
for
k=1:n
z=z+l(k)*y0(k);
end
y1=subs(z,x,x1);
之后我们可以利用Script来进行调用此函数并进行绘图:
n=10;
x0=-1:2/n:1;
y0=1./(1+25*x0.^2);
x=-1:.001:1;
y1=lagrange(x0,y0,x);
y=1./(1+25