700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > matlab 纽马克 激励 newmark (纽马克)计算结果动力学响应的matlab程序

matlab 纽马克 激励 newmark (纽马克)计算结果动力学响应的matlab程序

时间:2023-05-04 06:35:05

相关推荐

matlab 纽马克 激励 newmark (纽马克)计算结果动力学响应的matlab程序

这是一个newmark (纽马克)计算结果动力学响应的matlab程序,计算结果大的惊人,不知道什么原因,请大家帮我看看是什么原因,谢谢!

function[Q,V,AA]=newmarkb

E=2.1e11

=7850;D1=0.405;d1=0.375;D2=0.375;d2=0.335;D3=0.335;d3=0.285;D4=0.285;d4=0.225;D5=0.225;d5=0.150;

A=(pi*(D1^2-d1^2))/4;

I=(pi*(D1^4-d1^4))/64;

M1= Mass (P,A,I,0,0,13,0);

A=(pi*(D2^2-d2^2))/4;

I=(pi*(D2^4-d2^4))/64;

M2= Mass (P,A,I,13,0,26,0);

A=(pi*(D3^2-d3^2))/4;

I=(pi*(D3^4-d3^4))/64;

M3= Mass (P,A,I,26,0,39,0);

A=(pi*(D4^2-d4^2))/4;

I=(pi*(D4^4-d4^4))/64;

M4= Mass (P,A,I,39,0,52,0);

A=(pi*(D5^2-d5^2))/4;

I=(pi*(D5^4-d5^4))/64;

M5= Mass (P,A,I,52,0,65,0);

M=zeros(18,18);

M= MAssemble(M,M1,1,2);

M= MAssemble(M,M2,2,3);

M= MAssemble(M,M3,3,4);

M= MAssemble(M,M4,4,5);

M= MAssemble(M,M5,5,6);% 整体质量矩阵

A=(pi*(D1^2-d1^2))/4;

I=(pi*(D1^4-d1^4))/64;

K1= LStiffness1 (E,A,I,0,0,13,0);

A=(pi*(D2^2-d2^2))/4;

I=(pi*(D2^4-d2^4))/64;

K2= LStiffness2 (E,A,I,13,0,26,0);

A=(pi*(D3^2-d3^2))/4;

I=(pi*(D3^4-d3^4))/64;

K3= LStiffness3 (E,A,I,26,0,39,0);

A=(pi*(D4^2-d4^2))/4;

I=(pi*(D4^4-d4^4))/64;

K4= LStiffness4 (E,A,I,39,0,52,0);

A=(pi*(D5^2-d5^2))/4;

I=(pi*(D5^4-d5^4))/64;

K5= LStiffness5 (E,A,I,52,0,65,0);

K=zeros(18,18);

K= KAssemble(K,K1,1,2);

K= KAssemble(K,K2,2,3);

K= KAssemble(K,K3,3,4);

K= KAssemble(K,K4,4,5);

K= KAssemble(K,K5,5,6);% 整体刚度矩阵

C=0.00776*M+0.00398*K; %瑞利阻尼矩阵

%newmark系数

dt=0.01;

nt=20;%计算相应时间

betae=0.25;

alfa=0.5;

a0=1/(betae*dt^2);

a1=alfa/(betae*dt);

a2=1/(betae*dt);

a3=1/(2*betae)-1;

a4=alfa/betae-1;

a5=dt/2*(alfa/betae-2);

a6=dt*(1-alfa);

a7=dt*alfa;

%系数定义完

KE=K+a0*M+a1*C;

[L,U]=lu(KE);

q=zeros(18,1);%位移初始

v=zeros(18,1);%速度初始

pp=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-100,0,100].';%载荷

a=M^(-1)*(pp-K*q-C*v);%加速度初始

Q(:,1)=q;

V(:,1)=v;

AA(:,1)=a;

PP(:,1)=pp;

for i=1:nt-1

PP(:,i+1)=PP(:,i)+M*(a0*Q(:,i)+a2*V(:,i)+a3*AA(:,i))+C*(a1*Q(:,i)+a4*V(:,i)+a5*AA(:,i));

ik=L\PP(:,i+1);

ik=U\ik;

Q(:,i+1)=L'\ik;

AA(:,i+1)=a0*(Q(:,i+1)-Q(:,i))-a2*V(:,i)-a3*AA(:,i);

V(:,i+1)=V(:,i)+a6*AA(:,i)+a7*AA(:,i+1);

end

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