hermite_wise.m

来自「可以方便的调用这个函数」· M 代码 · 共 20 行

M
20
字号
%Hermite三次插值
function yi=Hermite_wise(x,y,ydot,xi)
if isempty(ydot)==1;
    ydot=gradient(y,x);
end
n=length(x);m1=length(y);m2=length(ydot);
if n~=m1|n~=m2|m1~=m2
    error('The length of X,Y and Ydot must be equal!');
    returm;
end
for k=1:n-1
    if abs(x(k)-x(k+1))<eps
        error('The DATA is error!');
        return;
    end
    if x(k)<=xi&xi<=x(k+1)
        yi=y(k)*(1-2*(xi-x(k))/(x(k)-x(k+1)))*(xi-x(k+1))^2/(x(k)-x(k+1))^2+y(k+1)*(1-2*(xi-x(k+1))/(x(k+1)-x(k)))*(xi-x(k))^2/(x(k+1)-x(k))^2+ydot(k)*(xi-x(k))*(xi-x(k+1))^2/(x(k)-x(k+1))^2+ydot(k+1)*(xi-x(k+1))*(xi-x(k))^2/(x(k+1)-x(k))^2;
        return;
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?