用Matlab实现直线插补计算程序.doc

用Matlab实现直线插补计算程序.doc

ID:53673384

大小:41.00 KB

页数:5页

时间:2020-04-05

用Matlab实现直线插补计算程序.doc_第1页
用Matlab实现直线插补计算程序.doc_第2页
用Matlab实现直线插补计算程序.doc_第3页
用Matlab实现直线插补计算程序.doc_第4页
用Matlab实现直线插补计算程序.doc_第5页
资源描述:

《用Matlab实现直线插补计算程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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(xe>0)x=x+dx;elsex=x-dx;endy=y;F=abs(xe*y)-abs(ye*x);elseif(ye>0)y=y+dy;elsey=y-dy;endx=x;F=abs(xe*y)-abs(ye*x);endif(abs(F)<=0.01)F=0;endxx(in

2、dex)=x;yy(index)=y;index=index+1;if((abs(x)+abs(y))>=(abs(xe)+abs(ye)))break;endendif(xe>0)xxx=0:0.01:xe;elsexxx=0:-0.001:xe;endyyy=K*xxx;if(xe>0)plot(xx,yy,'g>',xxx,yyy,'b');elseplot(xx,yy,'g-<',xxx,yyy,'b');endgridon;图表1当dx=0.5;dy=0.6;xe=-5;ye=-6;时,结果如图表1所示。图表2

3、当dx=0.6;dy=0.4;xe=6;ye=4;时结果如图标2所示,结果显示多走了一步,原因是matlab在倒数第二步计算if((abs(x)+abs(y))>=(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))

4、和简化的偏差计算公式,结果如图表4所示;我们发现对于,简化的偏差计算不适用于不等步长的情况。图表4在土表所采用的程序基础上对偏差计算公式做一个修改,F=F-abs(ye*dx);F=F+abs(xe*dy);计算结果如图表5所示,此方法在该条件下适用。图表5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。