2014年数学建模竞赛B题:MATLAB动态图绘制

博主分享一下自己写的matlab折叠桌动态图代码,画的比较简陋,凑合着看吧

b站专栏没法显示动图啊

代码如下,我就不一一解释每条命令了。 clc clear filename='mygif';  ri=zeros(1,10); theta=zeros(1,10); ai=zeros(1,10);  bi=zeros(1,10); di=zeros(1,10);                      %定义变量 ai(1)=1.25;  b0=sqrt(625-(25-ai(1))^2);  l=120/2-b0;   l0=l/2; bi(1)=0;   ri(1)=l0; for ii =0:0.05*asin(50/l):asin(50/l)    fai=ii; theta(1)=fai;     %计算最外那根木条参数    for i=2:10    ai(i)=2.5*i-1.25;    bi(i)=sqrt(625-(25-ai(i))^2)-b0;    ri(i)=sqrt(l0^2+bi(i)^2-2*bi(i)*l0*cos(fai));    theta(i)=acos((l0^2-bi(i)^2+ri(i)^2)/(2*ri(i)*l0))+fai;    di(i)=b0+ri(i)+bi(i)-l0;    end  li=zeros(1,10);  xi=zeros(1,40);  yi=zeros(1,40);  zi=zeros(1,40);  x=zeros(1,10);  y=zeros(1,10);  z=zeros(1,10);   li(:)=60-b0-bi(:);   x(:)=25-ai(:);   y(:)=bi(:)+b0+li(:).*cos(theta(:));   z(:)=li(:).*sin(theta(:));  for j=1:10    xi(j)=x(j);yi(j)=y(j);zi(j)=z(j);  end  for j=11:20    xi(j)=-xi(21-j);yi(j)=yi(21-j);zi(j)=zi(21-j);  end  for j=21:30    xi(j)=xi(41-j);yi(j)=-yi(41-j);zi(j)=zi(41-j);  end  for j=31:40    xi(j)=xi(41-j);yi(j)=-yi(41-j);zi(j)=zi(41-j);  end  beta=acos(xi/25);  for i=21:40    beta(i)=2*pi-beta(41-i);  end

 zz=zeros(1,40);  yy=25*sin(beta);

 for i=1:40      x1=[xi(i),xi(i)];      y1=[yi(i),yy(i)];      z1=[-zi(i),-zz(i)];      plot3(x1,y1,z1,'color',[0.6297,0.3070,0.0633],'LineWidth',3)%咖啡色      hold on;  end  xlabel('x')  ylabel('y')  t=0:pi/20:2*pi;  X=25*cos(t);Y=25*sin(t);  plot(X,Y,'color',[0.6297,0.3070,0.0633],'LineWidth',5)  area(X,Y,'FaceColor',[0.6297,0.3070,0.0633]); shg;  axis off  axis equal  hold off pause(0.01)         f = getframe(gcf);        imind = frame2im(f);       [imind,cm] = rgb2ind(imind,256);       if ii == 0          imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.2);       else          imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.2);       end   end

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空