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结果图

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功