写一段matlab代码来实现:设f(x)=1/(1+25x^2),-1<=x<=1,取x_j=-1+2j/10,j=0,1,2,……,10。求出10次Lagrange差值多项式L,画出图像。。
时间: 2024-05-07 11:21:01 浏览: 115
matlab 程序实现求f=x^2的最大值
以下是用MATLAB实现题目要求的代码:
```
% 定义函数
f = @(x) 1./(1+25*x.^2);
% 定义节点
x = -1:0.2:1;
% 定义插值点
xi = -1:0.01:1;
% 计算Lagrange差值多项式L
n = length(x);
L = zeros(length(xi),1);
for j = 1:n
% 计算Lagrange基函数
lj = ones(size(xi));
for k = 1:n
if k ~= j
lj = lj .* (xi - x(k)) / (x(j) - x(k));
end
end
% 计算Lagrange差值多项式
L = L + lj * f(x(j));
end
% 绘制图像
plot(xi,L,'b-',x,f(x),'ro');
legend('Lagrange差值多项式','原函数');
```
运行上述代码可以得到Lagrange差值多项式L与原函数的图像。
阅读全文