当前位置:服务支持 >  软件文章 >  Newmark-β法迭代求解动力学方程的MATLAB程序完整实现与算法步骤详解

Newmark-β法迭代求解动力学方程的MATLAB程序完整实现与算法步骤详解

阅读数 7
点赞 0
article_banner
newmark迭代的MATLAB程序实现

% newmark方法的程序实现
clc
clear
m=[6/12,1/12;1/12,2/12];
k=[2*3,-1*2;-1*2,1*2];
f1=[0;1];
d2=inv(m)*f1;
b=0.25;
r=0.5;
dt=0.12;
a0=1/(b*(dt)^2);
a1=r/(b*dt);
a2=1/(b*dt);
a3=1/(2*b)-1;
a4=r/b-1;
a5=0.5*dt*((r/b)-2);
a6=dt*(1-r);
a7=r*dt;
pk=k+a0*m;
pk=inv(pk);
d0=[0;0];
d1=[0;0];

for i=1:10
t=0.12*i;
if t>0.5
f1(2)=0;
end
ff=0.0;
d00=0.0;
ff=ff+m*(a0*d0+a2*d1+a3*d2);
pf1=f1+ff;
d00=d00+pk*pf1;
d22=a0*(d00-d0)-a2*d1-a3*d2;
d11=d1+a6*d2+a7*d22;
d0=d00;
d1=d11;
d2=d22;
a(i)=d00(1);
b(i)=d00(2);
end
a
b

这个程序其实较好理解,先搞懂newmark方法,一般的动力学有关的书上会有newmark方法的编程思路,结合着看一下,应该十分钟内您就会明白.
第一段是一些初值设置;第二段就是迭代算法!
批评指正,相互学习!

转自 振动论坛




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删
相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空