theta matlab,威尔逊theta法MATLAB程序及算例说明.docx

单自由度:

function [u,u1,u2]=wiltheta(m,k,c,d,e,f,p,theta,t)

n=length(p);

u=zeros(n,1);u1=zeros(n,1);u2=zeros(n,1);uu=zeros(n,1);pp=zeros(n,1);

u(1)=d;u1(1)=e;u2(1)=f;

l=6/(theta*t)^2;q=3/(theta*t);r=6/(theta*t);s=theta*t/2;

kk=k+l*m+q*c;

for i=1:n-1

pp(i)=p(i)+theta*(p(i+1)-p(i))+(l*u(i)+r*u1(i)+2*u2(i))*m+(q*u(i)+2*u1(i)+s*u2(i))*c;

uu(i)=pp(i)/kk;

u2(i+1)=u2(i)+l/theta*(uu(i)-u(i))-l*t*u1(i)-3/theta*u2(i);

u1(i+1)=u1(i)+t/2*(u2(i+1)+u2(i));

u(i+1)=u(i)+t*u1(i)+t^2/6*(u2(i+1)+2*u2(i+1));

end

end

实例:,初始时刻位移、速度、加速度均为零。以下为0.02-1时间段时程曲线。其中p=-1*[0.000508665 0.000906218 00000000.0040581 0000.0056473 0-0.000121305 -0-000000.001187971

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值