?? 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 + -