Y-BH

N_pendulum_multi_mv

May 8th, 2022
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.02 KB | None | 0 0
  1. %% 绘图
  2. fig=figure;fig.ToolBar='none';
  3. % fig.Renderer='painters';% 提升2D渲染性能
  4. dpi=1.25;scr=[1920 1080];res=[1600 900];
  5. fig.Color='k';fig.Position=[(scr-res)/2,res]/dpi;
  6. pos1=[0 0 1 1];
  7. subplot('Position',pos1)
  8. plot(-N,-N,N,0.25*N);hold on
  9.  
  10. axis equal;axis tight;axis off
  11. ax=gca;ax.Clipping='off';
  12. n=1;
  13. for ii=1:M
  14.     p{ii}=plot(x(n,2:end,ii),y(n,2:end,ii),'.',MarkerSize=30,Color='y');
  15.     s{ii}=plot(x(n,:,ii),y(n,:,ii),'-',LineWidth=1,Color='w');
  16. end
  17. %% 动画
  18. mv = 1;% 是否录制视频,1录制,其它不录制
  19. if mv==1
  20. v=VideoWriter('D:\Programs\MATLAB\三摆100.mp4','MPEG-4');
  21. v.Quality=100;v.FrameRate=60;open(v);
  22. end
  23. for n=1:Frame
  24.     for k=1:M
  25.         p{k}.XData=x(n,2:end,k);
  26.         p{k}.YData=y(n,2:end,k);
  27.         s{k}.XData=x(n,:,k);
  28.         s{k}.YData=y(n,:,k);
  29.     end
  30.     axis([-N N -N 0.25*N])
  31.     drawnow limitrate
  32.     if mv==1;F=getframe(gcf);writeVideo(v,F);end
  33.     clc;fprintf(['当前进度', ...
  34.         num2str(100*n/Frame,'%.1f'),'%%\n']);
  35. end
  36. if mv==1;close(v);end
Add Comment
Please, Sign In to add comment