📄 hermitethree.m
字号:
%%用分段三次Hermite插值求多项式求函数值%%
function y=HermiteThree(x0,x,y,n)
x0=input('请输入要求函数值的自变量x0=')
x=input('请输入已知的自变量的值(1xn的向量)=')
y=input('请输入对应自变量的函数值(1xn的向量)y=')
g=input('请输入对应自变量的导数值(1xn的向量)g=')
n=input('请输入自变量的个数n=')
s=0;
a=linspace(0,0,n);
b=linspace(0,0,n);
for i=1:n-1
if x0<=x(i+1) & x0>=x(i)
l=(x0-x(i+1))/(x(i)-x(i+1));
s=(x0-x(i))/(x(i+1)-x(i));
q=(x0-x(i+1))/(x(i)-x(i+1));
a(i)=(1+2*l)*s*s; %%利用Lagerange插值基函数求基函数a(x)%%
a(i+1)=(1+2*q)*l*l; %%利用Lagerange插值基函数求基函数a(x+1)%%
b(i)=(x0-x(i))*s*s; %%利用Lagerange插值基函数求基函数b(x)%%
b(i+1)=(x0-x(i+1))*l*l; %%利用Lagerange插值基函数求基函数b(x+1)%%
s=(y(i)*a(i)+y(i+1)*a(i+1)+g(i)*b(i)+g(i+1)*b(i+1)); %%求分段三次Hermite插值函数%%
disp('所求函数值是;')
s
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -