用Matlab实现直线插补计算程序讲解学习.docx

上传人:scccc 文档编号:13434585 上传时间:2021-12-25 格式:DOCX 页数:6 大小:95.44KB
返回 下载 相关 举报
用Matlab实现直线插补计算程序讲解学习.docx_第1页
第1页 / 共6页
用Matlab实现直线插补计算程序讲解学习.docx_第2页
第2页 / 共6页
用Matlab实现直线插补计算程序讲解学习.docx_第3页
第3页 / 共6页
用Matlab实现直线插补计算程序讲解学习.docx_第4页
第4页 / 共6页
用Matlab实现直线插补计算程序讲解学习.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《用Matlab实现直线插补计算程序讲解学习.docx》由会员分享,可在线阅读,更多相关《用Matlab实现直线插补计算程序讲解学习.docx(6页珍藏版)》请在三一文库上搜索。

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(index)=x;yy(index)

2、=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');endgrid on;精品文档图表1时,结果如图表1所示。当 dx=0.5;dy=0.6;xe=-5;ye=-6;当 d

3、x=0.6;dy=0.4; xe=6;ye=4;原因是matlab在倒数第二步计算if 果不为0,仍需继续走一步。可以对程序做进一步修改:加入条件if (abs(x)+abs(y)>=(abs(xe)+abs(ye)if (abs(abs(x)+abs(y)-abs(xe)-abs(ye)<dmin)主止足 少0时结果如图标2所示,结果显示多走了一步,(abs(x)+abs(y)>=(abs(xe)+abs(ye)时,结dmin=min(dx,dy)/2;并把修改成结果如图3所示,这样就不会多图表3采用不等步长和简化的偏差计算公式,结果如图表 4所示;我们发现对于,简化的 偏差计算不适用于不等步长的情况。图表4在土表所采用的程序基础上对偏差计算公式做一个修改,F=F-abs(ye*dx);F=F+abs(xe*dy); 计算结果如图表5所示,此方法在该条件下适用图表5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1