900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > matlab实现振动弹簧的实时动画 Matlab实现振动弹簧的实时动画

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

时间:2018-07-28 00:44:07

相关推荐

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

《Matlab实现振动弹簧的实时动画》由会员分享,可在线阅读,更多相关《Matlab实现振动弹簧的实时动画(26页珍藏版)》请在金锄头文库上搜索。

1、Matlab 实现振动弹簧的实时动画摘要: Matlab 是当前应用最广泛的科学与工程计算软件之一,本次课设将Matlab 引入到图形学动画设计 .本次课设主要可分为两大步骤:一、应用Matlab对弹簧振子进行建模;二、应用Matlab 实现弹簧振动的实时动画。其中建模部分包括对天花板的建模、 对连接直线的建模、 对弹簧的建模、 对振动小球的建模。模拟弹簧振动的过程主要包括:更新小球和弹簧的位置。更新水平线的位置和长度。实时地画出弹簧高度与时间的关系曲线。关键字: Matlab, 振动弹簧,建模,实时动画目录1 绪论 . 1 1.1 matlab基本功能介绍. 1 1.2 matlab的动画制。

2、作. 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 实现振动弹簧。

3、的事实动画的程序。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。

4、); 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 T12; 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(。

5、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 程序功能介绍: 模拟弹簧振子简谐运动的过程, 同时画出相应圆球质心随时间变化的曲线。上面的程序为模拟弹簧振子的简谐振动,若要模拟弹簧阻尼振动过程的程序,可见附录。2.2 弹簧振子的 matlab建模图 2-1 弹簧振子建模图上图所示的图形即为在matlab 环境下的弹簧振子的建模图形。实现程序为:rectangle(pos。

6、ition,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。

7、,num2str(-1:3); plot(0,15,3.3,3.3,black); 下面分步介绍它的建模过程。2.2.1 天花板的建模2-2 天花板建模图如上图所示,为在matlab 环境下天花板的建模图形。实现程序为:rectangle(position,12,8.5,2,0.3,FaceColor,0.5,0.3,0.4); 程序功能介绍: rectangle的功能就是画一个矩形, 12,8.5 为矩形的一个点,他的长和宽分别为2、0.3。FaceColor,0.5,0.3,0.4是用来设置它的颜色的。2.2.2直线的建模2-3 直线的建模图如上图所示,为在matlab 下的直线建模图形。。

8、实现程序为:plot(13,13,7,8.5,r,linewidth,2) 程序功能介绍: plot 是一个常用的画图函数,13,13,7,8.5确定的直线的位置,r设置直线颜色为红色。 linewidth,2,直线的粗细设置。2.2.3弹簧的建模2-4 弹簧的建模图如上图所示,为在matlab 环境下弹簧的建模图形。实现程序为: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); 程序功能介绍: y=2:.2:7,2 到 7 之间 0.2 为步长生成向量。 M=length(y),M=。

9、y 向量的长度。 length 为求向量长度的函数。 M=26。x=12+mod(1:M,2)*2 ,生成 14 12 这样的重复数据 26 个。 mod(x,y)为 x 模除 y。mod(1:26,2) ans=1 0 1 0等 26 个。x(1)=13,令初始值为 13。 x(end-3:end)=13,令最后 4 个数为 13。D=plot(x,y) ,画出该图。Plot 函数介绍: plot(X,Y ) 绘制所有由 Xn 和 Yn 数据对定义的曲线。如果仅 Xn 或者仅 Yn 是一个矩阵, plot 函数绘制向量对矩阵的行或者列的曲线图,取决于是向量的行还是列的尺寸与矩阵相匹配。2.2。

10、.4球的建模2-5 球的建模图如上图所示,为在matlab 环境下球的建模图形。实现程序为:C=0:.1:2*pi;r=0.35; t1=r*sin(C); F1=fill(13+r*cos(C),2+t1,r); 程序功能介绍: C=0:.1:2*pi;r=0.35,0到 2 之间 0.1 步长生成向量, r=0.35. t1=r*sin(C),返回 r 乘以 C 中每个元素的正弦值的值。 F1=fill(13+r*cos(C),2+t1,r) ,画出多边形小球。Fill 函数介绍;函数 fill 用于创建彩色的多边形。 格式; fill(X,Y ,C) 从 X 和 Y 中的数据出发创建填充。

11、的多边形,顶点颜色为C。C 十一哥向量或者矩阵,它是指向色图的指标。 如果 C 是一个行向量, 则 length (C)必须等于 size (X,2)和 size (Y,2);如果 C 是一个列向量, 则 length(C)必须等于 size (X,1)和 size(Y,1)。如果有必要, fill 将通过最后一个顶点与第一个顶点连接来封闭多边形。2.2.5 利用 set函数返回当前坐标轴通过上几步的建模我们可以得到如下所示的图形2-6 未重新设置轴建模图为下一步实时动画做好准备我们需要重新设定一下坐标。在matlab 中可以利用 set函数返回句柄值改变来当前坐标轴。得到如下所示的图形。2-。

12、7 设置后建模图2-8 初步设置轴的建模图实现程序为:set(gca,ytick,0:2:9); set(gca,yticklabels,num2str(-1:3); plot(0,15,3.3,3.3,black); 程序功能介绍: gca未返回当前 axes对象的句柄值, ytick 为控制 Y 轴坐标刻度记号的位置,即控制坐标轴上刻度记号的位置以及每隔多少值会到下一个刻度记号的位置,同时还需配合yticklabel 属性来调整。 set(gca,ytick,0:2:9);将坐标轴从 0 开始以 2 为间隔到 9 设置 Y 坐标。而下一句程序set(gca,yticklabels,num2。

13、str(-1:3)就是通过 yticklabel 来改变 Y 轴属性,即由 0、2、4、6、8 变为-1、0、1、2、3。上面是对 Y 轴的设置。对平衡位置轴的设置为:plot(0,15,3.3,3.3,black) ,plot 为画直线的常用函数 0,15,3.3,3.3定义了平衡位置轴的位置。 black,定义平衡位置轴的颜色为黑。2.3 弹簧振动的实时动画2.3.1弹簧振子简谐振动的物理模型弹簧振子简谐振动的物理模型弹簧振子简谐振动的物理模型弹簧振子简谐振动的物理模型图 2-9 弹簧振子的简谐振动现在我们来定量地分析上图所示的弹簧振子的小振幅自由振动。设弹簧的劲度系数为k,小球的质量为 。

14、m,忽略各种阻力,取平衡位置O 为坐标原点,x 坐标轴指向右为正。 小球位置坐标为 x 时,所受弹性回复力 Fx可表示为 :Fx=-kx (1.1)根据牛顿定律,小球的M 的运动微分方程为: mxkx?=? 通常将上式改写成20 xx?+= (1.2)其中 2/km= (1.3) 微分方程( 1.2)的通解为cos()xAt=+(1.4)14 式(1.4)就是小球 M 的运动学方程。式中A 和是两个积分常数,他们的物理意义和确定方法将在后面讨论。将式(1.4)对时间求一阶和二阶导数,得到小球运动速度和加速度sin()vxAt =?+(1.5)2cos()axAt?=?+(1.6)因 cos()。

15、sin(/2) tt+=+,故令 /2=+,则解( 1.4)还可以写成sin()xAt=+(1.7) 即微分方程( 1.4)的解即可写成遇险函数的形式,也可以写成正弦函数形式。 从解( 1.4)看出,弹簧振子运动时,坐标x(即相对平衡未知的位移)按余弦(或正弦)函数规律随时间变化。因此,只在线性弹性回复力作用下的弹簧振子运动是谐振动。式( 1.5)、( 1.6)表明,作谐振动物体的速度和加速度也是按余弦或正弦函数规律随时间变化的。见下图,从式(1.2)看出,作谐振动物体的加速度大小总是与其位移大小成正比,二者符号相反, 这一结论被视为谐振动的运动学特征。图 2-10 简谐运动曲线2.3.2 利用利用利用利用 matlab实现弹簧的实时振动实现弹簧的实时振动实现弹簧的实时振动实现弹簧的实时振动由 2.3.1 节可知弹簧振动是的变化主要表现在弹簧和小球的位置随时间的变化,而且小球的位移是按正弦规律变化的。据此我们先设计一个算法。 现用流程图表示如下:15 图 2-11 流程图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,1。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。