当前位置:首页 > 振动理论第二次大作业 - 图文
f_zaihe=1e7*[0,17.8,21.36,22.25,20.47,17.8,13.35,8.9,4.45,0,-4.45,-7.56,-8.9,-11.57,-13.35,-12.01,-8.9,-4.45,0]; if t<=2.5
forc1=interp1(t_zaihe,f_zaihe,t); else
forc1=0; end for i=1:5
force(i,1)=forc1; end
force=eig_vector'*force;
output=(force(j)/m)-omg*omg*x-0.02*omg*y; end
下面给出图像:
从上面的曲线可以看出楼层5的位移幅值最大其次是楼层4,楼层1的位移最小,与实际是比较符合的,因此本次模拟应该还算是比较成功的。而且楼层5的最大位移只有30厘米左右,应该是比较小的。还有随着时间的增大,振幅逐渐趋近与零,与实际也比较符合。 最后通过观察q的曲线法线q4明显大于其他q这说明在该台风载荷下振动的主要模态为q4对应的模态。在MATLAB内置函数eig求解过程中发现q4对应的频率最小,为11.59,在该例子中更高阶的模态贡献很小,因此工程中求解很大自由度问题中近似取前几阶模态得出的结果误差不会很大。
下面是用Fortran写的程序(在ifort中调试通过): module inv_mat
!----------------------------------------module coment ! Version : V1.0 ! Coded by : wangqi ! Date : 2014-12-27
!----------------------------------------------------- ! Description : 计算逆矩阵 !
!----------------------------------------------------- ! Contains :
! 1. driver 驱动函数 ! 2. solve 方法函数
!----------------------------------------------------- contains
subroutine solve(A,invA,N)
!---------------------------------subroutine comment ! Version : V1.0 ! Coded by : wangqi ! Date : 2014-12-27
!----------------------------------------------------- ! Purpose : 计算逆矩阵 !
!----------------------------------------------------- ! Input parameters : ! 1. ! 2.
! Output parameters : ! 1. ! 2.
! Common parameters : !
!---------------------------------------------------- ! Post Script : ! 1. ! 2.
!---------------------------------------------------- implicit real*8(a-z) integer::n integer::i
real*8::A(n,n),invA(n,n),E(n,n) E=0
!设置E为单位矩阵 do i=1,n E(i,i)=1 end do
call mateq(A,E,invA,N,N) end subroutine solve
subroutine mateq(A,B,X,N,M)
!---------------------------------subroutine comment ! Version : V1.0 ! Coded by : wangqi ! Date : 2014-12-27
!-----------------------------------------------------
! Purpose : 高斯列主元消去法计算矩阵方程组 ! AX=B
!----------------------------------------------------- ! Input parameters :
! 1. A(N,N)系数矩阵 ! 2. B(N,M)右矩阵
共分享92篇相关文档