lagrange插值法matlab代码
时间: 2023-10-18 22:04:40 浏览: 124
573234.zip_源码
以下是Lagrange插值法的Matlab代码:
```matlab
function y_int = lagrange(x, y, x_int)
% x和y是已知数据点,x_int是需要插值的点
% 返回插值点的函数值y_int
n = length(x);
L = ones(n,length(x_int));
% 计算Lagrange插值的基函数
for i = 1:n
for j = 1:n
if i ~= j
L(i,:) = L(i,:).*(x_int-x(j))/(x(i)-x(j));
end
end
end
% 计算插值点的函数值
y_int = 0;
for i=1:n
y_int = y_int + y(i)*L(i,:);
end
end
```
使用方法:
假设我们要对数据点(1,4), (2,3), (3,5), (4,1)进行插值,并计算x=2.5时的函数值。
```matlab
x = [1, 2, 3, 4];
y = [4, 3, 5, 1];
x_int = 2.5;
y_int = lagrange(x, y, x_int);
disp(y_int);
```
输出结果为2.75,即x=2.5时的插值函数值。
阅读全文