动力学第三章.doc

上传人:豆**** 文档编号:23825499 上传时间:2022-07-02 格式:DOC 页数:13 大小:319.50KB
返回 下载 相关 举报
动力学第三章.doc_第1页
第1页 / 共13页
动力学第三章.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《动力学第三章.doc》由会员分享,可在线阅读,更多相关《动力学第三章.doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流动力学第三章.精品文档.第2章function VTB2(m,c,k,x0,v0,tf,w,f0)%单自由度系统的谐迫振动clcwn=sqrt(k/m);z=c/2/m/wn;lan=w/wnwd=wn*sqrt(1-z2);A=sqrt(v0+z*wn*x0)2+(x0*wd)2)/wd2);t=0:tf/1000:tf;phi1=atan2(x0*wd,v0+z*wn*x0);phi2=atan2(2*z*lan,1-lan2);B=wn2*f0/k/sqrt(wn2-w2)2+(2*z*wn*w)2);x=A*exp(-z*wn*t).

2、*sin(sqrt(1-z2)*wn*t+phi1)+B*sin(w*t-phi2);plot(t,x),gridxlabel(时间(s)ylabel(位移)title(位移与时间的关系)function VTB1(m,c,k,x0,v0,tf)%VTB1用来计算单自由度有阻尼自由振动系统的响应%VTB1绘出单自由度有阻尼自由振动系统的响应图%m为质量;c为阻尼;k为刚度;x0为初始位移;v0为初始速度;tf为仿真时间%VTB1(zeta,w,x0,v0,tf)绘出单自由度有阻尼自由振动系统的响应图%程序中z为阻尼系数;wn为固有频率n;A为振动幅度;phi为初相位clcwn=sqrt(k/m

3、);z=c/2/m/wn;wd=wn*sqrt(1-z2);fprintf(固有频率为%.3g.rad/s.n,wd);fprintf(阻尼系数为%.3g.n,z);fprintf(有阻尼的固有频率为%.3g.rad/s.n,wd);t=0:tf/1000:tf;if z1.e-6 pp0=pp; B=D*A; pp=1.0/B(3); A=B/B(3); end f=sqrt(pp)/2/pi %固有频率单位转换为Hz fprintf(fid1,%20.5f,A); %输入主振型数据 fprintf(fid2,%20.5f,f); %输入固有频率数据 D=D-A*A*M/(A*M*A*pp)

4、;endfid1=fopen(A-1,rt); %打开主振型文件A=fscanf(fid1,%f,3,3) %主振型写成矩阵fid2=fopen(B-1,rt); %打开固有频率文件f=fscanf(fid2,%f,3,1) %固有频率写成矩阵t=1:3;h1=figure(numbertitle,off,name,0,pos,50 200 420 420);bar(t,f(t,1),xlabel(频率阶级次),ylabel(Hz),title(固有频率),hold on,gridh1=figure(numbertitle,off,name,1,pos,50 200 420 420);bar(

5、t,A(t,1),xlabel(自由度(质量块)),ylabel(振型向量),title(1阶主振型),hold on,gridpause(0.1)h1=figure(numbertitle,off,name,2,pos,50 200 420 420);bar(t,A(t,2),xlabel(自由度(质量块)),ylabel(振型向量),title(2阶主振型),hold on,gridpause(0.1)h1=figure(numbertitle,off,name,3,pos,50 200 420 420);bar(t,A(t,3),xlabel(自由度(质量块)),ylabel(振型向量)

6、,title(3阶主振型),hold on,gridpause(0.1)end%chuandijuzhen.m; %传递矩阵方法求固有频率clear all,clear closeJ1=1;J2=1;J3=2;k2=1100000;k3=1200000;k4=100000;fid=fopen(chuandi,wt); %建立(打开)速度文件M1L=0;for WN=0:0.01:2000 shita1R=1;M1R=-WN2*J1; shita2R=shita1R+1/k2*M1R;M2R=shita1R*(-WN2*J2)+(1+(-WN2*J2)/k2)*M1R; shita3R=shit

7、a2R+1/k3*M2R;M3R=shita2R*(-WN2*J3)+(1+(-WN2*J3)/k3)*M2R; shita4R=shita3R+1/k4*M3R; if abs(shita4R)0.005 WN %搜索到的固有频率(rad/s),并显示 shita=shita1R;shita2R;shita3R;shita4R;%搜索到振型,并显示 bar(shita),xlabel(对应的质量块),ylabel(振型向量) pause(1.0) end fprintf(fid,%30.15f,shita4R);endfid=fopen(chuandi,rt);x=fscanf(fid,%f

8、,1,200001);t=1:200001;plot(0.01*t,x);grid,xlabel(频率rad/s),ylabel(第四个质量块的转角(rad/s),title(用传递矩阵法求固有频率) function cdjz2%chuandijuzhen.m; %传递矩阵方法求固有频率clear all,clear closeJ1=0.5;J2=1;k2=100000;k3=100000;fid=fopen(chuandi3,wt); %建立(打开)速度文件M1L=0;for WN=0:0.01:2000 shita1R=1;M1R=-WN2*J1; shita2R=shita1R+1/k

9、2*M1R;M2R=shita1R*(-WN2*J2)+(1+(-WN2*J2)/k2)*M1R; shita3R=shita2R+1/k3*M2R; if abs(shita3R)1.e-6 pp0=pp; B=D*A; pp=1.0/B(3); A=B/B(3); end f=sqrt(pp) fprintf(fid1,%20.5f,A); %输入主振型数据 fprintf(fid2,%20.5f,f); %输入固有频率数据 D=D-A*A*M/(A*M*A*pp);endfid1=fopen(A-2,rt); %打开主振型文件A=fscanf(fid1,%f,3,3) %主振型写成矩阵f

10、id2=fopen(B-2,rt); %打开固有频率文件f=fscanf(fid2,%f,3,1) %固有频率写成矩阵t=1:3;h1=figure(numbertitle,off,name,0,pos,50 200 420 420);bar(t,f(t,1),xlabel(频率阶级次),ylabel(Hz),title(固有频率),hold on,gridh1=figure(numbertitle,off,name,1,pos,50 200 420 420);bar(t,A(t,1),xlabel(自由度(质量块)),ylabel(振型向量),title(1阶主振型),hold on,gri

11、dpause(0.1)h1=figure(numbertitle,off,name,2,pos,50 200 420 420);bar(t,A(t,2),xlabel(自由度(质量块)),ylabel(振型向量),title(2阶主振型),hold on,gridpause(0.1)h1=figure(numbertitle,off,name,3,pos,50 200 420 420);bar(t,A(t,3),xlabel(自由度(质量块)),ylabel(振型向量),title(3阶主振型),hold on,gridpause(0.1)endfunction zuoye9%矩阵迭代法求系统

12、的三阶固有频率和主阵型clear allclose allfid1=fopen(A-3,wt); %建立主振型文件fid2=fopen(B-3,wt); %建立固有频率文件%输入质量矩阵M(1,1)=4;M(2,2)=2;M(3,3)=1;%输入刚度矩阵K(1,1)=4;K(1,2)=-1;K(2,1)=- 1;K(2,2)=2;K(2,3)=- 1;K(3,2)=- 1;K(3,3)= 1%计算特征值与特征向量D=inv(K)*M; %原始动力矩阵U=inv(K)A=ones(3,1); %初始振型for i=1:3 %计算三阶固有频率和主振型 pp0=0; i B=D*A; pp=1.0/

13、B(1); %B(1)为B中的第一个元素 A=B/B(1); while abs(pp-pp0)/pp)1.e-6 pp0=pp; B=D*A; pp=1.0/B(1); A=B/B(1); end f=sqrt(pp) fprintf(fid1,%20.5f,A); %输入主振型数据 fprintf(fid2,%20.5f,f); %输入固有频率数据 D=D-A*A*M/(A*M*A*pp);endfid1=fopen(A-3,rt); %打开主振型文件A=fscanf(fid1,%f,3,3) %主振型写成矩阵fid2=fopen(B-3,rt); %打开固有频率文件f=fscanf(fi

14、d2,%f,3,1) %固有频率写成矩阵t=1:3;h1=figure(numbertitle,off,name,0,pos,50 200 420 420);bar(t,f(t,1),xlabel(频率阶级次),ylabel(Hz),title(固有频率),hold on,gridh1=figure(numbertitle,off,name,1,pos,50 200 420 420);bar(t,A(t,1),xlabel(自由度(质量块)),ylabel(振型向量),title(1阶主振型),hold on,gridpause(0.1)h1=figure(numbertitle,off,na

15、me,2,pos,50 200 420 420);bar(t,A(t,2),xlabel(自由度(质量块)),ylabel(振型向量),title(2阶主振型),hold on,gridpause(0.1)h1=figure(numbertitle,off,name,3,pos,50 200 420 420);bar(t,A(t,3),xlabel(自由度(质量块)),ylabel(振型向量),title(3阶主振型),hold on,gridpause(0.1)endfunction cdjz2%chuandijuzhen.m; %传递矩阵方法求固有频率clear all,clear clo

16、seJ1=0.5;J2=1;k2=10000;k3=10000;fid=fopen(chuandi3,wt); %建立(打开)速度文件M1L=0;for WN=0:0.01:2000 shita1R=1;M1R=-WN2*J1; shita2R=shita1R+1/k2*M1R;M2R=shita1R*(-WN2*J2)+(1+(-WN2*J2)/k2)*M1R; shita3R=shita2R+1/k3*M2R; if abs(shita3R)0.005 WN %搜索到的固有频率(rad/s),并显示 shita=shita1R;shita2R;shita3R; %搜索到振型,并显示 bar

17、(shita),xlabel(对应的质量块),ylabel(振型向量) pause(1.0) end fprintf(fid,%30.15f,shita3R);endfid=fopen(chuandi3,rt);x=fscanf(fid,%f,1,200001);t=1:200001;plot(0.01*t,x);grid,xlabel(频率rad/s),ylabel(第三个质量块的转角(rad/s),title(用传递矩阵法求固有频率)第3章function vtb3(m,c,k,x0,v0,tf,w,f0,delt)%用欧拉法计算单自由度系统谐迫振动响应wn=sqrt(k/m); %计算固

18、有频率fid1=fopen(disp,wt); %建立一个位移文件disp.datfor t=0:delt:tf; %delt为时间步长 xdd=(f0*sin(w*t)-k*x0-c*v0)/m; %计算加速度 xd=v0+xdd*delt; %计算速度 x=x0+xd*delt; %计算位移x fprintf(fid1,%10.4f,x0); %向文件中写数据x0=x;v0=xd;tendfid2=fopen(disp,rt); %打开disp.dat文件n=tf/delt; %disp.dat文件中位移的个数x=fscanf(fid2,%f,1,n); %将disp.dat文件中文艺写成

19、矩阵t=1:n;plot(t,x),gridxlabel(时间(s)ylabel(位移(s)title(位移与时间的关系)function vtb4(m,c,k,x0,v0,tf,w,f0,delt)%用改进的欧拉法计算单自由度系统谐迫振动响应wn=sqrt(k/m); %计算固有频率fid1=fopen(disp,wt); %建立一个位移文件disp.datfor t=0:delt:tf; %delt为时间步长 xdd=(f0*sin(w*t)-k*x0-c*v0)/m; %计算加速度 x3d=(f0*w*cos(w*t)-k*v0-c*xdd)/m; xd=v0+xdd*delt+x3d*

20、delt2/2; %计算速度 x=x0+xd*delt+xdd*delt2/2; %计算位移x fprintf(fid1,%10.4f,x0); %向文件中写数据x0=x;v0=xd;tendfid2=fopen(disp,rt); %打开disp.dat文件n=tf/delt; %disp.dat文件中位移的个数x=fscanf(fid2,%f,1,n); %将disp.dat文件中文艺写成矩阵t=1:n;plot(t,x),gridxlabel(时间(s)ylabel(位移(s)title(位移与时间的关系)function vtb5(tf,delt) %用线性加速度法计算三自由度系统谐迫

21、振动响应,tf为仿真时间,delt为仿真时间步长deltclose all;clcfid1=fopen(disp5,wt); %建立一个位移文件dip5.datm=2*1 0 0;0 1 0;0 0 1; %质量矩阵c=1.5*2 -1 0;-1 2 -1;0 -1 2; %阻尼矩阵k=50*2 -1 0;-1 2 -1;0 -1 2; %刚度矩阵x0=1 1 1; %初始位移v0=1 1 1; %初始速度md=inv(m+delt/2*c+1/6*delt2*k);m1=inv(m);E,F=eig(m1*k);diag(sqrt(F); %计算固有频率(rad/s)for t=0:delt

22、:tf; %delt为时间步长f=2.00*sin(3.754*t) -2.00*cos(2.2*t) 1.00*sin(2.8*t);if t=0; xdd0=m1*(f-k*x0-c*v0); %计算初始加速度elsex=md*(m*(x0+delt*v0+delt2/3*xdd0)+c*(delt/2*x0+delt2/3*v0+delt3/12*xdd0)+delt2/6*f);%计算位移xdd=6/delt2*(x-(x0+delt*v0+delt2/3*xdd0); %计算加速度xd=v0+delt/2*(xdd0+xdd);%计算速度xdd0=xdd;v0=xd;x0=x;fpr

23、intf(fid1,%10.4f,x0);%向文件中写数据t %显示计算时间步长endendfid2=fopen(disp5,rt); %打开disp5.dat文件n=tf/delt; %disp5.dat文件中位移的个数x=fscanf(fid2,%f,3,n); %将disp5.dat文件中的位移写成矩阵t=1:n;figure(numbertitle,off,name,自由度-1的位移,pos,450 180 400 420);plot(t,x(1,t),grid,xlabel(时间*0.1秒),title(自由度-1的位移与时间的关系)figure(numbertitle,off,na

24、me,自由度-2的位移,pos,350 160 400 420);plot(t,x(2,t),grid,xlabel(时间*0.1秒),title(自由度-3的位移与时间的关系)figure(numbertitle,off,name,自由度-3的位移,pos,250 140 400 420);plot(t,x(3,t),grid,xlabel(时间*0.1秒),title(自由度-3的位移与时间的关系)function vtb6(tf,delt) %用线纽马克-法计算三自由度系统谐迫振动响应,tf为仿真时间,delt为仿真时间步长deltclose all;clcfid1=fopen(disp

25、6,wt); %建立一个位移文件dip6.datm=2*1 0 0;0 1 0;0 0 1; %质量矩阵c=1.5*2 -1 0;-1 2 -1;0 -1 2; %阻尼矩阵k=50*2 -1 0;-1 2 -1;0 -1 2; %刚度矩阵x0=1 1 1; %初始位移v0=1 1 1; %初始速度bita=1/6;md=inv(m+delt/2*c+bita*delt2*k);m1=inv(m);E,F=eig(m1*k);diag(sqrt(F); %计算固有频率(rad/s)for t=0:delt:tf; %delt为时间步长f=2.00*sin(3.754*t) -2.00*cos(2

26、.2*t) 1.00*sin(2.8*t);if t=0; xdd0=m1*(f-k*x0-c*v0); %计算初始加速度elsexdd=md*(f-c*(v0+delt/2*xdd0)-k*(x0+delt*v0+(1/2-bita)*delt2*xdd0); %计算加速度xd=v0+delt/2*(xdd0+xdd);%计算速度x=x0+delt*v0+delt2/2*xdd0+bita*delt3*(xdd-xdd0)/delt; %计算位移v0=xd;x0=x;fprintf(fid1,%10.4f,x0);%向文件中写数据t %显示计算时间步长endendfid2=fopen(dis

27、p6,rt); %打开disp6.dat文件n=tf/delt; %disp6.dat文件中位移的个数x=fscanf(fid2,%f,3,n); %将disp6.dat文件中的位移写成矩阵t=1:n;figure(numbertitle,off,name,自由度-1的位移,pos,450 180 400 420);plot(t,x(1,t),grid,xlabel(时间*0.1秒),title(自由度-1的位移与时间的关系)figure(numbertitle,off,name,自由度-2的位移,pos,350 160 400 420);plot(t,x(2,t),grid,xlabel(时

28、间*0.1秒),title(自由度-2的位移与时间的关系)figure(numbertitle,off,name,自由度-3的位移,pos,250 140 400 420);plot(t,x(3,t),grid,xlabel(时间*0.1秒),title(自由度-3的位移与时间的关系)function vtb7(tf,delt) %用威尔逊法计算三自由度系统谐迫振动响应,tf为仿真时间,delt为仿真时间步长deltclose all;clcfid1=fopen(disp7,wt); %建立一个位移文件dip6.datm=2*1 0 0;0 1 0;0 0 1; %质量矩阵c=1.5*2 -1

29、 0;-1 2 -1;0 -1 2; %阻尼矩阵k=50*2 -1 0;-1 2 -1;0 -1 2; %刚度矩阵x0=1 1 1; %初始位移v0=1 1 1; %初始速度theta=1.4;md=inv(k+3*c/theta/delt+6/(theta*delt2)*m);m1=inv(m);E,F=eig(m1*k);diag(sqrt(F); %计算固有频率(rad/s)for t=0:delt:tf; %delt为时间步长f=2.00*sin(3.754*t) -2.00*cos(2.2*t) 1.00*sin(2.8*t);if t=0; xdd0=m1*(f-k*x0-c*v0

30、); %计算初始加速度elsextheta=md*(m*(2*xdd0+6/theta/delt*v0+6/(theta*delt)2*x0)+c*(theta*delt/2*xdd0+2*v0+3/theta/delt*x0)+f); %计算(t+delt)时刻的速度xddtheta=6/(theta*delt)2*(xtheta-x0)-6/theta/delt*v0-2*xdd0; %计算(t+delt)时刻的加速度xdd=(1-1/theta)*xdd0+1/theta*xddtheta; %计算(t+delt)时刻的加速度xd=v0+delt/2*(xdd0+xdd); %计算(t+

31、delt)速度x=x0+delt*v0+delt2*(2*xdd0+xdd)/6; %计算(t+delt)位移v0=xd;x0=x;xdd0=xdd;fprintf(fid1,%10.4f,x0);%向文件中写数据t %显示计算时间步长endendfid2=fopen(disp7,rt); %打开disp6.dat文件n=tf/delt; %disp7.dat文件中位移的个数x=fscanf(fid2,%f,3,n); %将disp7.dat文件中的位移写成矩阵t=1:n;figure(numbertitle,off,name,自由度-1的位移,pos,450 180 400 420);plot(t,x(1,t),grid,xlabel(时间*0.1秒),title(自由度-1的位移与时间的关系)figure(numbertitle,off,name,自由度-2的位移,pos,350 160 400 420);plot(t,x(2,t),grid,xlabel(时间*0.1秒),title(自由度-2的位移与时间的关系)figure(numbertitle,off,name,自由度-3的位移,pos,250 140 400 420);plot(t,x(3,t),grid,xlabel(时间*0.1秒),title(自由度-3的位移与时间的关系)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com