《用Matlab实现直线插补计算程序》由会员分享,可在线阅读,更多相关《用Matlab实现直线插补计算程序(5页珍藏版)》请在人人文库网上搜索。
1、姓名: 学号: 班级: 用Matlab实现直线插补计算程序clear;F=0;x=0;y=0;dx=0.5;dy=0.6;xe=-5;ye=-6;K=ye/xe;xx(1)=x;yy(1)=y;index=2;while(1)if(F=0)if(xe0)x=x+dx;elsex=x-dx;endy=y;F=abs(xe*y)-abs(ye*x);else if(ye0)y=y+dy;elsey=y-dy;endx=x;F=abs(xe*y)-abs(ye*x);endif(abs(F)=(abs(xe)+abs(ye)break;endendif(xe0)xxx=0:0.01:xe;elsex。
2、xx=0:-0.001:xe;endyyy=K*xxx;if(xe0)plot(xx,yy,g,xxx,yyy,b);elseplot(xx,yy,g-=(abs(xe)+abs(ye)时,结果不为0,仍需继续走一步。可以对程序做进一步修改:加入条件dmin=min(dx,dy)/2; 并把if(abs(x)+abs(y)=(abs(xe)+abs(ye)修改成if(abs(abs(x)+abs(y)-abs(xe)-abs(ye)dmin) 结果如图3所示,这样就不会多走一步。图表 3采用不等步长和简化的偏差计算公式,结果如图表4所示;我们发现对于,简化的偏差计算不适用于不等步长的情况。图表 4在土表所采用的程序基础上对偏差计算公式做一个修改,F=F-abs(ye*dx); F=F+abs(xe*dy);计算结果如图表5所示,此方法在该条件下适用。图表 5。