?? hermite.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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -