matlab实现振动弹簧的实时动画,Matlab实现振动弹簧的实时动画

41528d3028836879cd698677c3999917.gifMatlab实现振动弹簧的实时动画

Matlab实现振动弹簧的实时动画 摘要:Matlab是当前应用最广泛的科学与工程计算软件之一,本次课设将Matlab引入到图形学动画设计.本次课设主要可分为两大步骤:一、应用Matlab对弹簧振子进行建模;二、应用Matlab实现弹簧振动的实时动画。其中建模部分包括对天花板的建模、对连接直线的建模、对弹簧的建模、对振动小球的建模。模拟弹簧振动的过程主要包括:①更新小球和弹簧的位置。 ②更新水平线的位置和长度。③实时地画出弹簧高度与时间的关系曲线。 关键字:Matlab, 振动弹簧,建模,实时动画 目录 1 绪论 . 1 1.1 matlab基本功能介绍 . 1 1.2 matlab的动画制作 . 2 2 振动弹簧的实时动画 . 4 2.1 程序功能分析 4 2.2 弹簧振子的matlab建模 . 6 2.2.1 天花板的建模 . 7 2.2.2直线的建模 . 8 2.2.3弹簧的建模 . 9 2.2.4球的建模 . 10 2.2.5 利用set函数返回句柄值改变来当前坐标轴 11 2.3 弹簧振动的实时动画 13 2.3.1弹簧振子简谐振动的物理模型 . 13 2.3.2 利用matlab实现弹簧的实时振动. 14 2.4 调试结果 19 3 设计总结 . 23 参考文献 . 24 致谢 . 25 附录-弹簧阻尼振动程序 26 2.1 程序功能分析 以下是利用matlab实现振动弹簧的事实动画的程序。 rectangle( position ,[12,8.5,2,0.3], FaceColor ,[0.5,0.3,0.4]); axis([0,15,-1,10]); %画顶板 hold on plot([13,13],[7,8.5], r , linewidth ,2); %画直线 y=2:.2:7; M=length(y); x=12+mod(1:M,2)*2; x(1)=13; x(end-3:end)=13; D=plot(x,y); %弹簧 C=0:.1:2*pi;r=0.35; t1=r*sin(C); F1=fill(13+r*cos(C),2+t1, r ); % 球 set(gca, ytick ,[0:2:9]); set(gca, yticklabels ,num2str([-1:3] )); plot([0,15],[3.3,3.3], black ); H1=plot([0,13],[3.3,3.3], y ); % 句柄[黄线] Q=plot(0,3.8, color , r ); % 运动曲线; td=[];yd=[]; T=0; 5text(2,9, 理想中的弹簧振子简谐振动 , fontsize ,16); set(gcf, doublebuffer , on ); while T<12; pause(0.2); Dy=(3/2-1/2*sin(pi*T))*1/2; Y=-(y-2)*Dy+7; Yf=Y(end)+t1; td=[td,T];yd=[yd,Y(end)]; set(D, ydata ,Y); set(F1, ydata ,Yf, facecolor ,rand(1,3)); set(H1, xdata ,[T,13], ydata ,[Y(end),Y(end)]); set(Q, xdata ,td, ydata ,yd) ; T=T+0.1; end 程序功能介绍:模拟弹簧振子简谐运动的过程,同时画出相应圆球质心随时 间变化的曲线。 上面的程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值