%==========================================================================
F=0 %偏差函数
xs=0 %X起始坐标
ys=0 %Y起始坐标
xe=5 %X终点坐标
ye=6 %Y终点坐标
xo=xs %插补前X坐标
yo=ys %插补前Y坐标
xn=xs %插补后X坐标
yn=ys %插补后Y坐标
dx=1 %X脉冲当量
dy=1 %Y脉冲当量
TT=1 %插补周期
%==========================================================================
n=abs(xe-xs)+abs(ye-ys) %插补次数
plot([xs xe*dx],[ys ye*dy],'r-')hold ongrid on
%==========================================================================
while(n>0)
if(F>=0)
xn=xo+dx
yn=yo
plot([xo xn],[yo yn],'b-')hold ongrid on
xo=xnyo=yn
F=F-ye
else
yn=yo+dy
xn=xo
plot([xo xn],[yo yn],'b-')hold ongrid on
xo=xnyo=yn
F=F+xe
end
pause(TT)
n=n-1
end
你的x y数据不对应 不能插假设按照前面对应
x=1:2:100y=25:3.5:1000
y0=spline(x,y(1:length(x)),2.5)
y0 =
27.6250
yi = interp1(x,y,xi,method)
已知样本点坐标x,y,求xi处的函数值yi,插值方法是method。
function [输出变量] = 函数名称(输入变量)
% 注释
% 函数体
如下所示,是编写的一个求1到n之和的求和函数 eg_sum,按照上述格式,编写代码如下并保存文件,注意文件命名时不能以数字开头:
function [s] = eg_sum( n )
% calculate the sum of 1..n
s = 0
for i = 1:n
s = s + i
end
回到控制台Command Window(主界面),注意要使用之前保存的函数文件名来调用函数,如下所示:
>>clear
>>a = eg_sum(10)
运行结果: a = 55
扩展资料:
对于函数f(x),常常不仅知道它在一些点的函数值,而且还知道它在这些点的导数值。这时的插值函数P(x),自然不仅要求在这些点等于f(x)的函数值,而且要求P(x)的导数在这些点也等于f(x)的导数值。这就是埃尔米特插值问题,也称带导数的插值问题。
从几何上看,这种插值要寻求的多项式曲线不仅要通过平面上的已知点组,而且在这些点(或者其中一部分)与原曲线“密切”,即它们有相同的斜率。可见埃尔米特插值多项式比起一般多项式插值有较高的光滑逼近要求。
参考资料来源:百度百科-插值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)