声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3415|回复: 1

[转帖]静止的单自由度Duhamel积分

[复制链接]
发表于 2006-4-14 10:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. %%%%%%%本程序只适用于初始状态为静止的单自由度Duhamel积分,内部采用Simpson积分
  3. %%%%%%%可计算无阻尼和阻尼强迫震动
  4. %%%%%%%输入可为数组或函数荷载
  5. %%%%%%%只能得出位移时程图
  6. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  7. clear all;
  8. %w=30
  9. w=input('输入自振频率 ω: ');
  10. %n=10
  11. n=input('输入荷载步数n :');
  12. %m=96.6/32.3
  13. m=input('输入单元质量m :');
  14. %T=0.05
  15. T=input('输入外荷载持续时间 T:');
  16. %si=0.0
  17. si=input('输入阻尼系数ξ:');
  18. %k=2700
  19. k=input('输入刚度系数k:');
  20. deta=T/n;
  21. wD=w*(1-si^2)^0.5;
  22. G=deta/(m*wD)/3;
  23. t1=[0:deta:T];
  24. reply = input('输入荷载数组直接回车或敲击Y,输入函数荷载输入N: [Y]: ','s');
  25. if isempty(reply)
  26. reply = 'Y';
  27. end
  28. if reply=='Y'
  29. p2=input('输入荷载数组并用[]抱住 为n+1个元素:例如[0 19.3200 38.6400 57.9600 77.2800 96.6000 77.2800 57.9600 38.6400 19.3200 0]:\n');

  30. %p2=[0:19.32:96.6,77.28:-19.32:0]
  31. exp1=exp(-2*si*w*deta);
  32. exp2=4*exp(-si*w*deta);
  33. A(1)=p2(1)*cos(wD*0);
  34. for i=2:n/2+1
  35. A(i)=(A(i-1)+p2(2*i-3)*cos(wD*(2*deta*(i-2))))*exp1+p2(2*i-2)*cos(wD*(2*i*deta-3*deta))*exp2+p2(2*i-1)*cos(wD*2*(i-1)*deta);
  36. end

  37. B(1)=p2(1)*sin(wD*0);
  38. for i=2:n/2+1
  39. B(i)=(B(i-1)+p2(2*i-3)*sin(wD*(2*deta*(i-2))))*exp1+p2(2*i-2)*sin(wD*(2*i*deta-3*deta))*exp2+p2(2*i-1)*sin(wD*2*(i-1)*deta);
  40. end

  41. t1=[0:2*deta:T];
  42. disp('位移随时间的变化');
  43. V=G*(A.*sin(wD*t1)-B.*cos(wD*t1))
  44. disp('弹性力随时间的变化');
  45. f=k*V
  46. for i=1:n/2+1
  47. p22(i)=p2(2*i-1);
  48. end
  49. disp('加速度随时间的变化');
  50. v11=(p22-k*V)/m
  51. subplot(1,2,1),plot(t1,V),title('位移'),grid on,


  52. t2=[T:deta:T*5];
  53. sw=sin(w*t2);
  54. cw=cos(w*t2);
  55. disp('扩大四倍后位移随时间的变化');
  56. y=G*A(n/2+1)*sw-G*B(n/2+1)*cw
  57. subplot(1,2,2),

  58. plot(t1,V,'r') ,hold on
  59. plot(t2,y,'r');
  60. title('加载时间增加四倍时的位移位移时程曲线')
  61. grid on;
  62. else

  63. syms tao t;
  64. y=input('函数荷载(关于未知数tao):');
  65. %y=-10000/8*tao+100;
  66. v1=1/m/wD*int(y*exp(-si*w*(t-tao))*sin(wD*(t-tao)),tao,0,t);
  67. v01=diff(v1,t);
  68. v02=diff(v01,t)
  69. t1=[0:T/n:T];
  70. for i=1:n+1
  71. v2(i)=subs(v1,t,t1(i));
  72. v011(i)=subs(v01,t,t1(i));
  73. v022(i)=subs(v02,t,t1(i));
  74. end
  75. disp('荷载作用时间内位移变化');
  76. v2
  77. disp('荷载作用时间内位移最大值');
  78. max(v2)
  79. disp('荷载作用时间内速度变化');
  80. v011
  81. disp('荷载作用时间内速度最大值');
  82. max(v011)
  83. disp('荷载作用时间内加速度变化');
  84. v022
  85. disp('荷载作用时间内加速度最大值');
  86. max(v022)
  87. subplot(2,3,1),plot(t1,v2),grid on,title('荷载作用时间内位移时程曲线');
  88. subplot(2,3,2),plot(t1,v011),grid on,title('荷载作用时间内速度时程曲线');
  89. subplot(2,3,3),plot(t1,v022),grid on,title('荷载作用时间内加速度时程曲线')
  90. A=1/m/wD*int(y*exp(si*w*tao-si*w*t)*cos(wD*tao),tao,0,T);
  91. B=1/m/wD*int(y*exp(si*w*tao-si*w*t)*sin(wD*tao),tao,0,T);

  92. A1=subs(A,T);
  93. B1=subs(B,T);
  94. V33=A1*sin(wD*t)-B1*cos(wD*t);
  95. V033=diff(V33,t);
  96. V0033=diff(V033,t);

  97. t2=[T:T/n:5*T];
  98. v33=A1*sin(wD*t2)-B1*cos(wD*t2);
  99. for i=1:4*n+1
  100. V03(i)=subs(V033,t,t2(i));
  101. V003(i)=subs(V0033,t,t2(i));
  102. end
  103. disp('扩大四倍后位移随时间的变化');
  104. v33
  105. disp('扩大四倍后位移最大值');
  106. max(v33)
  107. disp('扩大四倍后速度随时间的变化');
  108. V03
  109. disp('扩大四倍后速度最大值');
  110. max(V03)
  111. disp('扩大四倍后加速度随时间的变化');
  112. V003
  113. disp('扩大四倍后加速度最大值');
  114. max(V003)
  115. subplot(2,3,4),plot(t1,v2),hold on,title('加载时间增加四倍时的位移时程曲线'),plot(t2,v33),grid on;
  116. subplot(2,3,5),plot(t1,v011),hold on,title('加载时间增加四倍时的速度时程曲线'),plot(t2,V03),grid on;
  117. subplot(2,3,6),plot(t1,v022),hold on,title('加载时间增加四倍时的加速度时程曲线'),plot(t2,V003),grid on;
  118. end
复制代码



来自钢结构

[ 本帖最后由 suffer 于 2006-10-9 19:39 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-4-15 15:49 | 显示全部楼层
谢谢,很好用,只是我想要个多自由度的。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-6 16:08 , Processed in 0.067551 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表