⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hermite.asv

📁 一个自己写的关于Hermite的matlab程序
💻 ASV
字号:
function yi=Hermite(x,y,ydot,xi)
%Hermite 插值公式,其中,
%x为向量,全部的插值节点;
%y为向量,插值节点处的函数值;
%ydot为向量,插值节点处的导数值,
%如果此处值缺省,则用均差代替导数,
%端点用向前、向后均差,中间点用中心均差;
%xi为标量,自变量x;
%yi为xi处的函数估计值。
%如果没有给出y的导数值,则用均差代替导数
if isempty(ydot)==1
    ydot=gradient(y,x);
end
n=length(x); m1=length(y); m2=length(ydot);
%输入x,y和y的导数的个数必须相同
 if n~=m1|n~=m2|m1~=m2
     error('The lengths of X,Y and Ydot must be equal!');
     return;
 end
 p=zeros(1,n);q=zeros(1,n); yi=0;
 for k=1:n
     t=ones(1,n);z=zeros(1,n);
     for j=1:n
         if j~=k
             %插值节点必须互异
             if abs(x(k)-x(j))<eps
                 error('the DATA is error!');
                 return;
             end
             t(j)=(xi-x(j))/(x(k)-x(j));
             z(j)=1/(x(k)-x(j));
         end
     end
     p(k)=prod(t);q(k)=sum(z);
     yi=yi+y(k)*(1-2*(xi-x(k))*q(k))*p(k)^2...
     +

⌨️ 快捷键说明

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