已知插值节点的坐标X=[0;1;10]; Y=[1 2 4 6 8 10 12 13 16 19 25] 求X=2.5处的函数值,用MATLAB该怎么写?补充下 是拉格朗日算法
问题描述:
已知插值节点的坐标X=[0;1;10]; Y=[1 2 4 6 8 10 12 13 16 19 25] 求X=2.5处的函数值,用MATLAB该怎么写?
补充下 是拉格朗日算法
答
X=0:1:10;
Y=[1 2 4 6 8 10 12 13 16 19 25];
y0=interp1(X,Y,2.5,'spline') %拉格朗日的算法精度不高,一般都用三次样条插值,精度相当高,很准
答
二楼回答的插值是样条插值,而且matlab里好像没有拉格朗日插值的函数,这个方法在实际中不常用,给你我曾经编的拉式插值函数,希望你不只是用一下,能看懂最好:
function y=lainterp(X,Y,x)
%拉格朗日代数插值
%y=lainterp(X,Y,x)
%X,Y:插值节点,节点值
%x:任意点
%
if length(unique(X))