一下是Hermite插值MATLAB程序代码,可是只能求出插值的函数值,我还想得到插值函数的导数值,谁能帮我加一点代码实现这个功能啊?function f = Hermite(x,y,y_1,x0)syms t;f = 0.0;if(length(x) == length(y))if(length(
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 11:19:18
一下是Hermite插值MATLAB程序代码,可是只能求出插值的函数值,我还想得到插值函数的导数值,谁能帮我加一点代码实现这个功能啊?function f = Hermite(x,y,y_1,x0)syms t;f = 0.0;if(length(x) == length(y))if(length(
一下是Hermite插值MATLAB程序代码,可是只能求出插值的函数值,我还想得到插值函数的导数值,谁能帮我加一点代码实现这个功能啊?
function f = Hermite(x,y,y_1,x0)
syms t;
f = 0.0;
if(length(x) == length(y))
if(length(y) == length(y_1))
n = length(x);
else
disp('y和y的导数的维数不相等!');
return;
end
else
disp('x和y的维数不相等!');
return;
end
for i=1:n
h = 1.0;
a = 0.0;
for j=1:n
if( j = i)
h = h*(t-x(j))^2/((x(i)-x(j))^2);
a = a + 1/(x(i)-x(j));
end
end
f = f + h*((x(i)-t)*(2*a*y(i)-y_1(i))+y(i));
if(i==n)
if(nargin == 4)
f = subs(f,'t',x0);
else
f = vpa(f,6);
end
end
end
问题已基本解决,修改如下代码即可:if(i==n)
if(nargin == 4)
f1=diff(f,'t',1);
f = subs(f,'t',x0);
f_1=subs(f1,'t',x0);
else
f = vpa(f,6);
f1=diff(f,'t',1);
end
end
一下是Hermite插值MATLAB程序代码,可是只能求出插值的函数值,我还想得到插值函数的导数值,谁能帮我加一点代码实现这个功能啊?function f = Hermite(x,y,y_1,x0)syms t;f = 0.0;if(length(x) == length(y))if(length(
问题补充:请求高手帮忙给个hermite插值法和拉格朗日插值法的matlab程序,要求Matlab函数M文件Lagrange程序 function yy=lagrange(x,y,xi) m=length(x)