matlab拉格朗日插值法代码
时间: 2023-09-10 09:14:22 浏览: 102
以下是使用拉格朗日插值法进行插值的 MATLAB 代码示例:
```
function [y_interp] = lagrange_interp(x, y, x_interp)
% Lagrange Interpolation
%
% Inputs:
% x: vector of known x values
% y: vector of known y values
% x_interp: vector of x values to be interpolated
%
% Output:
% y_interp: vector of interpolated y values at x_interp
n = length(x);
m = length(x_interp);
y_interp = zeros(1, m);
for i = 1:m
% Compute the value of the interpolated point using Lagrange formula
L = ones(n, 1);
for j = 1:n
for k = 1:n
if j ~= k
L(j) = L(j) * (x_interp(i) - x(k)) / (x(j) - x(k));
end
end
end
y_interp(i) = sum(y .* L);
end
end
```
其中,`x` 和 `y` 分别是已知的数据点的 x 和 y 坐标,`x_interp` 是要进行插值的 x 坐标,返回 `y_interp` 是对应的插值结果。
阅读全文