数学建模社区-数学中国

标题: 【MATLAB动画教程四】 [打印本页]

作者: 士心之约    时间: 2015-9-16 14:34
标题: 【MATLAB动画教程四】
  1. %挂摆横梁
  2. %by dynamic
  3. %see also http://www.matlabsky.com
  4. %2008.6.9
  5. %
  6. h=figure('numbertitle','off','name','擦除动画演示(挂摆横梁)——Matlabsky')
  7. %绘制横梁
  8. plot([-0.2;0.2],[0;0],'-k','linewidth',20);
  9. %画初始位置的单摆
  10. g=0.98;%重力加速度,可以调节摆的摆速
  11. l=1;%摆长
  12. theta0=pi/4;%初始角度
  13. x0=l*sin(theta0);%初始x坐标
  14. y0=-l*cos(theta0);%初始y坐标
  15. axis([-0.75,0.75,-1.25,0]);
  16. axis off
  17. %创建摆锤
  18. %擦除模式为xor
  19. head=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',40);
  20. %创建摆杆
  21. body=line([0;x0],[-0.05;y0],'color','b','linestyle','-','erasemode','xor');
  22. %摆的运动
  23. t=0;%时间变量
  24. dt=0.01;%时间增量
  25. while 1
  26. t=t+dt;
  27. theta=theta0*cos(sqrt(g/l)*t);%单摆角度与时间的关系
  28. x=l*sin(theta);
  29. y=-l*cos(theta);
  30. if ~ishandle(h),return,end
  31. set(head,'xdata',x,'ydata',y);%改变擦除对象的坐标数据
  32. set(body,'xdata',[0;x],'ydata',[-0.05;y]);
  33. drawnow;%刷新屏幕
  34. end
复制代码


作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:06
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:07
加油  一定要努力哦

作者: 风靡全球    时间: 2015-9-16 18:07
加油  一定要努力哦

作者: 果珍冰    时间: 2015-9-23 20:01
Error using line
While setting the 'LineStyle' property of Line:
'*' is not a valid value. Use one of these values: '-' | '--' | ':' | '-.' | 'none'.

Error in test (line 19)
head=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',40);
运行出错,我用的版本是R2015a,把线型'.'改成'-'就好了





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5