求救编程高手,用matlab仿真直线插补的程序

求救编程高手,用matlab仿真直线插补的程序,第1张

%逐点比较法直线插补

%==========================================================================

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

a=[3.946 05.193 505.762 1006.311 1506.795 2007.257 2507.704 3008.170 350...

8.603 4009.073 4509.511 50010.001 55010.435 60010.932 65011.400 700...

11.938 75012.428 80012.995 85013.560 90014.246 95015.063 1000]

x=a(:,2)

y=a(:,1)

x2=1:60:1200

y2=interp1(x,y,x2, 'pchip')

plot(x,y,'bo',x2,y2,'r*')

legend('千分尺数据','分段核告插值数据'樱氏睁,'Location', 'Best')

grid on

xlabel('x 容量值(L)'),ylabel('y 电流值(mA)'脊岁)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12566644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存