21172485 发表于 2006-4-23 21:54

newmark迭代的MATLAB程序实现

% newmark方法的程序实现
clc
clear
m=;
k=;
f1=;
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=;
d1=;

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

bd040590 发表于 2006-6-14 10:46

没说明 叫人怎么用

double29 发表于 2006-8-25 15:23

这是什么啊?不知道哦!

lemon1983 发表于 2006-8-28 21:31

建议搂主给大家补上说明

cao 发表于 2006-8-29 09:23

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

lemon1983 发表于 2006-8-30 20:11

f1(2)=0;什么意思?

xinyuxf 发表于 2006-8-31 11:35

楼主能不能说得明白一些啊?谢谢,想学习一下

zjlygwt 发表于 2006-9-11 13:56

原帖由 lemon1983 于 2006-8-30 20:11 发表
f1(2)=0;什么意思?
f是外菏载向量???
下面迭代里面的f怎么又对这个进行说明??

baiyang 发表于 2006-11-12 17:40

太牛了

请问版主有没有newmark分析分叉混沌的程序,我们共同探讨一下,qq254785836

suffer 发表于 2006-11-13 10:15

原帖由 baiyang 于 2006-11-12 17:40 发表
请问版主有没有newmark分析分叉混沌的程序,我们共同探讨一下,qq254785836

newmark法适用于分析微分方程的直接积分法
无所谓分析什么问题,只要你能把问题抽象成微分方程的形式,基本可以用该算法进行分析

当然对于非线性问题,一般认为增量形式的newmark法效果会比较好

suffer 发表于 2006-11-13 10:16

原帖由 zjlygwt 于 2006-9-11 13:56 发表

f是外菏载向量???
下面迭代里面的f怎么又对这个进行说明??

f就是标准微分方程的右端项
后边是否要变动者完全取决于右端项的形式

比如在正弦激励下,显然他是和时间有关的

[ 本帖最后由 suffer 于 2006-11-13 10:18 编辑 ]

daihao213 发表于 2006-11-27 19:02

最好补充一下注释

realyyy 发表于 2006-12-7 10:20

见讨论:http://forum.vibunion.com/forum/viewthread.php?tid=20146&highlight=%2Brealyyy

sally1982 发表于 2006-12-12 11:32

请问有没有wilson法的程序,俺在毕业设计里面用到的,可是在f(t+θ*dt)里面不知道怎么叠带,还请帮忙

aishuren 发表于 2008-9-24 10:09

d00那样求对吗?与书上讲的相差太大,得出的结果一定是发散的
页: [1] 2
查看完整版本: newmark迭代的MATLAB程序实现