您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > Matlab实现逐点比较法
《数控技术》--作业21.请采用Matlab实现逐点比较法或数字积分法插补,并验证。(提交m代码、插补结果图)functionmyfun=pbpCircleintpol(x0,y0,x1,y1)area=max(max(x0,y0),max(x1,y1));plot([00],[areaarea]);gridonset(gca,'XTick',[0:1:area])set(gca,'YTick',[0:1:area])line([x0x1],[y0,y1]);holdon;gridonnum=abs(x0-x1)+abs(y0-y1);px=x0;py=y0;k0=(y1-y0)/(x1-x0);k=k0;fori=1:numlastX=px;lastY=py;if(kk0)py=py+1;elsepx=px-1;endline([lastXpx],[lastYpy],'Marker','.','Color','r','Linestyle','-','LineWidth',2);k=(y1-py)/(x1-px);pause(.5);end1)逐点比较法(以(7,0)为起点,(0,7)为终点逆时针插补圆弧为例)x0=7;y0=0;x1=0;y1=7;%给起点和终点赋坐标值step=abs((x0-x1))+abs((y0-y1));%步长r0=x0^2+y0^2;%理论圆半径值的平方fori=1:stepxi=x0;yi=y0;%前一步坐标ri=xi^2+yi^2;%当前位置半径平方if(rir0)%判断当前位置是否在圆内y0=yi+1;elsex0=xi-1;endline([x0,xi],[y0,yi]);%绘制从前一步到后一步的直线end结果图
本文标题:Matlab实现逐点比较法
链接地址:https://www.777doc.com/doc-4887230 .html