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

📄 hermite.m

📁 利用牛顿、拉格朗日、三次样条及线性插值方法拟合数据
💻 M
字号:
function H =Hermite(x)
X=0:10;
X=-5+X;
y=0:10;H=0;
M=0:10;
a=0:10;
b=0:10;
syms m
r=1/(1+m^2);
g=diff(r);
for i=1:11
    y(i)=subs(r,'m',X(i));
    M(i)=subs(g,'m',X(i));
end
if x>=X(1)&&x<=X(2)
    a(1)=(1+2*(x-X(1))/(X(2)-X(1)))*(((x-X(2))/(X(1)-X(2)))^2);
    b(1)=(x-X(1))*(((x-X(2))/(X(1)-X(2)))^2);
else
    a(1)=0;
    b(1)=0;
end
for i=2:10
    if x>=X(i-1)&&x<=X(i)
       a(i)=(1+2*(x-X(i))/(X(i-1)-X(i)))*(((x-X(i-1))/(X(i)-X(i-1)))^2);
       b(i)=(x-X(i))*(((x-X(i-1))/(X(i)-X(i-1)))^2);
    elseif x>=X(i)&&x<=X(i+1)
       a(i)=(1+2*(x-X(i))/(X(i+1)-X(i)))*(((x-X(i+1))/(X(i)-X(i+1)))^2);
       b(i)=(x-X(i))*(((x-X(i+1))/(X(i)-X(i+1)))^2);
    else
        a(i)=0;
        b(i)=0;
    end
end
if x>=X(10)&&x<=X(11)
   a(11)=(1+2*(x-X(11))/(X(10)-X(11)))*(((x-X(10))/(X(11)-X(10)))^2);
   b(11)=(x-X(11))*(((x-X(10))/(X(11)-X(10)))^2);
else
   a(11)=0;
   b(11)=0;
end
for i=1:11
H=H+(M(i)*b(i)+y(i)*a(i));
end


⌨️ 快捷键说明

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