创意平板折叠桌建模(4)

2019-03-11 10:27

[1]姜启源等,数学模型[M],高等教育出版社,2009

[2]卓金武等,MATLAB在数学建模中的应用[M],北京航空航天大学出版社,2011

[3]吴赣昌,概率论与数理统计[M],中国人民大学出版社,2006 [4]陈烨. 用于连续函数优化的蚁群算法[J] . 四川大学学报(工程科学版),2004,36(6)

[5]谢中华,MATLAB统计分析与应用:40个案列分析,北京航空航天大学出版社,2010

附录

程序一:问题一求桌腿长度、卡槽长度以及折叠桌整个折叠过程中的动态图程序:

clear

L=120;D=50;d=2.5;hL=L/2;R=D/2; %木板长;宽;腿木条宽;半长;圆桌面半径

ye=-R+d/2:d:R-d/2; %折叠点的y坐标,20个 xe=sqrt(R^2-ye.^2); %折叠点的x坐标,20个 legL=hL-xe%桌腿长度,20个 hH=legL(1)/2; %最长腿半长 ddeg=2; %角度增量

Tx=[xe -xe;xe -xe];Tx=Tx(:);Tz=zeros(size(Tx)); %桌面数据 Ty=[ye-d/2 fliplr(ye)+d/2;ye+d/2 fliplr(ye)-d/2];%桌面在y轴上的数据,fliplr函数实现矩阵的左右翻转 Ty=Ty(:);

legx=[hL*ones(size(xe));hL*ones(size(xe));xe;xe]; %桌腿数据

legy=[ye-d/2;ye+d/2;ye+d/2;ye-d/2]; legz=zeros(size(legx));

zhoux=[hL-legL(1)/2;hL-legL(1)/2]; zhouy=[-R R];

zhouz=[0;0]; %钢筋轴数据 yb=linspace(ye(1),ye(end),50); xb=sqrt(R^2-yb.^2); Bx=hL*ones(size(xb));

By=yb;

Bz=zeros(size(xb)); %腿尖曲线数据 figure(1),clf;%画底图,清除以前的图片 holdon

h1=patch(Tx,Ty,Tz,'facecolor',[1 1 1],'edgecolor',[0 0 0]);%画桌面

h2=patch(legx,legy,legz,'facecolor',[1 1 1],'edgecolor',[0 0 0]);%画桌腿

h3=patch(-legx,legy,legz,'facecolor',[1 1 1],'edgecolor',[0 0 0]);%画桌腿

h4=plot3(zhoux,zhouy,zhouz,'c');

h5=plot3(-zhoux,zhouy,zhouz,'c');%画钢筋轴 h6=plot3(Bx,By,Bz,'k');

h7=plot3(-Bx,By,Bz,'k');%腿尖曲线

holdoff;view(3);axis equal;axis([-hLhL -R R 0 2*hH]);axis off; fordeg=0:ddeg:75 %最长桌腿相对桌面折叠角度 zz=-hH*sind(deg);xz=xe(1)+hH*cosd(deg); %钢筋轴,z坐标和x坐标

alldeg=atan2(-zz*ones(size(xe)),xz-xe); %每个条腿折叠角度,20个

allx=legL.*cos(alldeg)+xe; %每条腿末端x坐标,20个

allz=-legL.*sin(alldeg); %每条腿末端z坐标,20个 alldeg2=atan2(-zz*ones(size(xb)),xz-xb);

Bx=(hL-xb).*cos(alldeg2)+xb;Bz=-(hL-xb).*sin(alldeg2);%腿尖曲线x数据

minz=min(Bz); %最低腿z坐标,桌子当前高度

legx=[allx;allx;xe;xe]; %桌腿数据

legz=[allz;allz;zeros(size(allz));zeros(size(allz))]-minz; set(h1,'ZData',-minz*ones(size(Tz)));

set(h2,'XData',legx,'ZData',legz);set(h3,'XData',-legx,'ZData',legz);

set(h4,'XData',[xz;xz],'ZData',[zz;zz]-minz); set(h5,'XData',-[xz;xz],'ZData',[zz;zz]-minz);

set(h6,'XData',Bx,'ZData',Bz-minz);set(h7,'XData',-Bx,'ZData',Bz-minz); pause(0.1);drawnow; end

caochang=sqrt((xe-xe(1)).^2+hH.^2-2*hH.*(xe-xe(1)).*cos(alldeg))-(legL-hH)

程序二:选取不同的角度,折叠图的过程状态 clear

L=120;D=50;d=2.5;hL=L/2;R=D/2; %木板长;宽;腿木条宽;半长;圆桌面半径 deg=75

ye=-R+d/2:d:R-d/2; %折叠点的y坐标,20个 xe=sqrt(R^2-ye.^2); %折叠点的x坐标,20个 legL=hL-xe%桌腿长度,20个 hH=legL(1)/2; %最长腿半长 ddeg=2; %角度增量

Tx=[xe -xe;xe -xe];Tx=Tx(:);Tz=zeros(size(Tx)); %桌面数据 Ty=[ye-d/2 fliplr(ye)+d/2;ye+d/2 fliplr(ye)-d/2];%桌面在y轴上的数据,fliplr函数实现矩阵的左右翻转 Ty=Ty(:);

legx=[hL*ones(size(xe));hL*ones(size(xe));xe;xe]; %桌腿数据

legy=[ye-d/2;ye+d/2;ye+d/2;ye-d/2]; legz=zeros(size(legx));

zhoux=[hL-legL(1)/2;hL-legL(1)/2]; zhouy=[-R R];

zhouz=[0;0]; %钢筋轴数据 yb=linspace(ye(1),ye(end),50);


创意平板折叠桌建模(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:-信息提示

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: