声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5673|回复: 17

[编程技巧] matlab计算三层混凝土框架结构的地震波弹塑性时程分析

[复制链接]
发表于 2013-3-3 19:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wypzf_8 于 2013-3-3 20:32 编辑

          您好,本贴介绍matlab计算三层混凝土框架结构的地震波弹塑性时程分析,资料来源于《土木工程常用软件分析与应用+MATLAB+SAP2000》,关于三层混凝土框架的信息,本贴不在具体介绍,具体详见附件pdf文档,相应的m文件我也附上,此程序虽能计算出结果,但我对结果持怀疑态度,主要是三折线的滞回规则没有完整的体现,在弹塑性阶段,程序的逻辑判断正确,但是到了状态数为5到6,6到3时,我发现不符合规则。如在400ga的Ell波时,一层的恢复力曲线为
400gal一层恢复力模型.jpg
希望高手能够指点迷津,关键问题是程序逻辑判断没有发现错误。
尝试尝试把400更改为600、800,会发现三折线规则没正确体现。
m文件见附件 三折线弹塑性时程分析.rar (20.2 KB, 下载次数: 23)
欢迎交流QQ:664652476 ,邮箱wypzf_8@163.com

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2013-3-3 20:26 | 显示全部楼层
主程序
  1. % This is a program for inelastic analysis of 3-layers structure
  2. % structure parameters
  3. disp('--- Welcome to use this program ! ---');
  4. disp('--- This is a program for inelastic analysis of 3-layers structure ! ---');
  5. clear,close all,
  6. m0=[1.690 1.581 1.412]*1e+4;
  7. k0=[1.512 2.012 2.012]*1e+7;
  8. h=[4000 7300 10600];
  9. k3stif=[k0' k0'*0.4 k0'*0.1];
  10. cn=length(m0);
  11. m=diag(m0);
  12. xc=[6.3 4.9 4.2]*1e-3;  %层间开裂位移
  13. xy=[21.8 18.9 17.2]*1e-3;  %层间屈服位移
  14. kxi1=0.05;kxi2=0.07;  %阻尼比
  15. %earthquake parameters
  16. load elcentroEW.m;
  17. seismicwaves=elcentroEW(:,2);
  18. t=elcentroEW(:,1);
  19. ct=1.4;% in the wilson-ct method
  20. dt=0.02;
  21. ndzh=length(elcentroEW(:,2))-1;
  22. tao=ct*dt;
  23. xs=400/max(abs(seismicwaves)); %尝试把400更改为600、800,发现三折线规则没正确体现
  24. ag=xs*0.01*seismicwaves;
  25. ag1=ag(1:ndzh);
  26. ag2=ag(2:ndzh+1);
  27. agtao=ct*(ag2-ag1);
  28. %initial value
  29. chsh=zeros(cn,1);
  30. pd=chsh;pdd=chsh;
  31. xcj=chsh;sducj=chsh;jsducj=chsh;fcj=chsh;
  32. xcjq=chsh;sducjq=chsh;jsducjq=chsh;fcjq=chsh;
  33. wyi=chsh;sdu=chsh;jsdu=chsh;
  34. wyimt=chsh;sdumt=chsh;jsdumt=chsh;
  35. plastic=chsh;plasticmt=chsh;
  36. unit=ones(cn,1);
  37. xp=xy;xn=-xy;
  38. kk=k3stif(:,1);
  39. [k4stif,fp,fn]=strpara(cn,k3stif,xc,xy);%solve the structure parameters
  40. for i=1:ndzh     %对地震波点数的循环计算
  41.     pdt=zeros(cn,1);
  42.     for j=1:cn   %对结构自由度的循环计算
  43.         if pd(j)==0
  44.             kk(j)=k4stif(j,1);
  45.             plastic(j)=0;
  46.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  47.             if xcj(j)>xc(j)
  48.                 pd(j)=2;
  49.                 pdt(j)=1;
  50.                 bl=(xc(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  51.                 kk(j)=k4stif(j,2);
  52.                 plastic(j)=(k4stif(j,1)-k4stif(j,2))*xc(j);
  53.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  54.             elseif xcj(j)<-xc(j)
  55.                 pd(j)=-2;
  56.                 pdt(j)=1;
  57.                 bl=(-xc(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  58.                 kk(j)=k4stif(j,2);
  59.                 plastic(j)=-(k4stif(j,1)-k4stif(j,2))*xc(j);
  60.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  61.             end
  62.         end
  63.         if pd(j)==2
  64.             kk(j)=k4stif(j,2);
  65.             plastic(j)=(k4stif(j,1)-k4stif(j,2))*xc(j);
  66.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  67.             if xcj(j)>xy(j)
  68.                 pd(j)=3;
  69.                 pdt(j)=1;
  70.                 bl=(xy(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  71.                 kk(j)=k4stif(j,3);
  72.                 plastic(j)=(k4stif(j,4)-k4stif(j,3))*xy(j);
  73.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  74.             elseif (xcj(j)<xy(j))&&(sducj(j)<0)
  75.                 x1a(j)=abs(xcj(j));
  76.                 pd(j)=1;
  77.                 kk(j)=((k4stif(j,1)-k4stif(j,2))*xc(j))/x1a(j)+k4stif(j,2);
  78.                 plastic(j)=0;
  79.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  80.             end
  81.         end
  82.         if pd(j)==-2
  83.             kk(j)=k4stif(j,2);
  84.             plastic(j)=-(k4stif(j,1)-k4stif(j,2))*xc(j);
  85.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  86.             if xcj(j)<-xy(j)
  87.                 pd(j)=-3;
  88.                 pdt(j)=1;
  89.                 bl=(-xy(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  90.                 kk(j)=k4stif(j,3);
  91.                 plastic(j)=-(k4stif(j,4)-k4stif(j,3))*xy(j);
  92.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  93.             elseif (xcj(j)>-xy(j))&&(sducj(j)>0);
  94.                 x1a(j)=abs(xcj(j));
  95.                 pd(j)=1;
  96.                 kk(j)=((k4stif(j,1)-k4stif(j,2))*xc(j))/x1a(j)+k4stif(j,2);
  97.                 plastic(j)=0;
  98.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  99.             end
  100.         end
  101.         if pd(j)==1
  102.             kk(j)=((k4stif(j,1)-k4stif(j,2))*xc(j))/x1a(j)+k4stif(j,2);
  103.             plastic(j)=0;
  104.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  105.             if xcj(j)>x1a(j)
  106.                 pd(j)=2;
  107.                 pdt(j)=1;
  108.                 bl=(x1a(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  109.                 kk(j)=k4stif(j,2);
  110.                 plastic(j)=(k4stif(j,1)-k4stif(j,2))*xc(j);
  111.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  112.             elseif xcj(j)<-x1a(j)
  113.                 pd(j)=-2;
  114.                 pdt(j)=1;
  115.                 bl=(-x1a(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  116.                 kk(j)=k4stif(j,2);
  117.                 plastic(j)=-(k4stif(j,1)-k4stif(j,2))*xc(j);
  118.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  119.             end
  120.         end
  121.         if pd(j)==3
  122.             kk(j)=k4stif(j,3);
  123.             plastic(j)=(k4stif(j,4)-k4stif(j,3))*xy(j);
  124.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  125.             if sducj(j)<0
  126.                 xp(j)=xcj(j);
  127.                 fp(j)=fcj(j);
  128.                 pd(j)=4;
  129.                 kk(j)=k4stif(j,4);
  130.                 plastic(j)=fp(j)-kk(j)*xp(j);
  131.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  132.             end
  133.         end
  134.         if pd(j)==-3
  135.             kk(j)=k4stif(j,3);
  136.             plastic(j)=-(k4stif(j,4)-k4stif(j,3))*xy(j);
  137.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  138.             if sducj(j)>0
  139.                 xn(j)=xcj(j);
  140.                 fn(j)=fcj(j);
  141.                 pd(j)=-4;
  142.                 kk(j)=k4stif(j,4);
  143.                 plastic(j)=fn(j)-kk(j)*xn(j);
  144.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  145.             end
  146.         end
  147.         if pd(j)==4
  148.             kk(j)=k4stif(j,4);
  149.             plastic(j)=fp(j)-kk(j)*xp(j);
  150.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  151.             if fcj(j)<0
  152.                 pd(j)=-6;
  153.                 pdt(j)=1;
  154.                 bl=fcjq(j,i-1)/(fcjq(j,i-1)-fcj(j));
  155.                 xa(j)=xcjq(j,i-1)+bl*(xcj(j)-xcjq(j,i-1));
  156.                 fa(j)=0;
  157.                 kk(j)=(fn(j)-fa(j))/(xn(j)-xa(j));
  158.                 plastic(j)=fa(j)-kk(j)*xa(j);
  159.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  160.             elseif xcj(j)>xp(j)
  161.                 pd(j)=3;
  162.                 pdt(j)=1;
  163.                 bl=(xp(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  164.                 kk(j)=k4stif(j,3);
  165.                 plastic(j)=(k4stif(j,4)-k4stif(j,3))*xy(j);
  166.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  167.             end
  168.         end
  169.         if pd(j)==-4
  170.             kk(j)=k4stif(j,4);
  171.             plastic(j)=fn(j)-kk(j)*xn(j);
  172.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  173.             if fcj(j)>0
  174.                 pd(j)=6;
  175.                 pdt(j)=1;
  176.                 bl=fcjq(j,i-1)/(fcjq(j,i-1)-fcj(j));
  177.                 xb(j)=xcjq(j,i-1)+bl*(xcj(j)-xcjq(j,i-1));
  178.                 fb(j)=0;
  179.                 kk(j)=(fp(j)-fb(j))/(xp(j)-xb(j));
  180.                 plastic(j)=fb(j)-kk(j)*xb(j);
  181.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  182.             elseif xcj(j)<xn(j)
  183.                 pd(j)=-3;
  184.                 pdt(j)=1;
  185.                 bl=(xn(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  186.                 kk(j)=k4stif(j,3);
  187.                 plastic(j)=-(k4stif(j,4)-k4stif(j,3))*xy(j);
  188.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  189.             end
  190.         end
  191.         if pd(j)==-6
  192.             kk(j)=(fn(j)-fa(j))/(xn(j)-xa(j));
  193.             plastic(j)=fa(j)-kk(j)*xa(j);
  194.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  195.             if sducj(j)>0
  196.                 xe(j)=xcj(j);
  197.                 fe(j)=fcj(j);
  198.                 pd(j)=-5;
  199.                 kk(j)=k4stif(j,4);
  200.                 plastic(j)=fe(j)-kk(j)*xe(j);
  201.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  202.             elseif xcj(j)<xn(j)
  203.                 pd(j)=-3;
  204.                 pdt(j)=1;
  205.                 bl=(xn(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  206.                 kk(j)=k4stif(j,3);
  207.                 plastic(j)=-(k4stif(j,4)-k4stif(j,3))*xy(j);
  208.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  209.             end
  210.         end
  211.         if pd==6
  212.             kk(j)=(fp(j)-fb(j))/(xp(j)-xb(j));
  213.             plastic(j)=fb(j)-kk(j)*xb(j);
  214.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  215.             if sducj(j)<0
  216.                 xf(j)=xcj(j);
  217.                 ff(j)=fcj(j);
  218.                 pd(j)=5;
  219.                 kk(j)=k4stif(j,4);
  220.                 plastic(j)=ff(j)-kk(j)*xf(j);
  221.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  222.             elseif xcj(j)>xp(j)
  223.                 pd(j)=3;
  224.                 pdt(j)=1;
  225.                 bl=(xp(j)-xcjq(j,i-1))/(xcj(j)-xcjq(j,i-1));
  226.                 kk(j)=k4stif(j,3);
  227.                 plastic(j)=(k4stif(j,4)-k4stif(j,3))*xy(j);
  228.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  229.             end
  230.         end
  231.         if pd(j)==-5
  232.             kk(j)=k4stif(j,4);
  233.             plastic(j)=fe(j)-kk(j)*xe(j);
  234.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  235.             if fcj(j)>0
  236.                 pd(j)=6;
  237.                 pdt(j)=1;
  238.                 bl=fcjq(j,i-1)/(fcjq(j,i-1)-fcj(j));
  239.                 xb(j)=xcjq(j,i-1)+bl*(xcj(j)-xcjq(j,i-1));
  240.                 fb(j)=0;
  241.                 kk(j)=(fp(j)-fb(j))/(xp(j)-xb(j));
  242.                 plastic(j)=fb(j)-kk(j)*xb(j);
  243.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  244.             elseif (sducj(j)<0)&&(fcj(j)<=0)
  245.                 xa(j)=xcj(j);
  246.                 fa(j)=fcj(j);
  247.                 pd(j)=-6;
  248.                 kk(j)=(fn(j)-fa(j))/(xn(j)-xa(j));
  249.                 plastic(j)=fa(j)-kk(j)*xa(j);
  250.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  251.             end
  252.         end
  253.         if pd(j)==5
  254.             kk(j)=k4stif(j,4);
  255.             plastic(j)=ff(j)-kk(j)*xf(j);
  256.             fcj(j)=kk(j)*xcj(j)+plastic(j);
  257.             if fcj(j)<0
  258.                 pd(j)=-6;
  259.                 pdt(j)=1;
  260.                 bl=fcjq(j,i-1)/(fcjq(j,i-1)-fcj(j));
  261.                 xa(j)=xcjq(j,i-1)+bl*(xcj(j)-xcjq(j,i-1));
  262.                 fa(j)=0;
  263.                 kk(j)=(fn(j)-fa(j))/(xn(j)-xa(j));
  264.                 plastic(j)=fa(j)-kk(j)*xa(j);
  265.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  266.             elseif (sducj(j)>0)&&(fcj(j)>=0)
  267.                 xb(j)=xcj(j);
  268.                 fb(j)=fcj(j);
  269.                 pd(j)=6;
  270.                 kk(j)=(fp(j)-fb(j))/(xp(j)-xb(j));
  271.                 plastic(j)=fb(j)-kk(j)*xb(j);
  272.                 fcj(j)=kk(j)*xcj(j)+plastic(j);
  273.             end
  274.         end
  275.         if pdt(j)==1
  276.             dt1=(1-bl)*dt;
  277.             tao1=ct*dt1;
  278.             [kju]=matrixju(kk,cn);
  279.             [c0]=strdamp(m,kju,kxi1,kxi2,cn);
  280.             dtp1=(1-bl)*dtplastic;
  281.             for s=1:cn
  282.                 xcjtp(s)=xcjq(s,i-1)+bl*(xcj(s)-xcjq(s,i-1));
  283.                 sducjtp(s)=sducjq(s,i-1)+bl*(sducj(s)-sducjq(s,i-1));
  284.                 jsducjtp(s)=jsducjq(s,i-1)+bl*(jsducj(s)-jsducjq(s,i-1));
  285.             end
  286.             [wyi1]=cjzhuanhuan(xcjtp,cn);
  287.             [sdu1]=cjzhuanhuan(sducjtp,cn);
  288.             [jsdu1]=cjzhuanhuan(jsducjtp,cn);
  289.             kxin1=kju+(3/tao1)*c0+(6/tao1^2)*m;
  290.             dpxin1=-m*unit*agtao(i-1)*(1-bl)+m*(6/(tao1)*sdu1+3*jsdu1)+c0*(3*sdu1+tao1/2*jsdu1)-ct*dtp1;
  291.             dxtao1=kxin1\dpxin1;
  292.             dtjsdu1=6*dxtao1/(ct*(tao1^2))-6*sdu1/(ct*tao1)-(3/ct)*jsdu1;
  293.             jsdu=jsdu1+dtjsdu1;
  294.             dtsdu1=(dt1/2)*(jsdu+jsdu1);
  295.             sdu=sdu1+dtsdu1;
  296.             dtwyi1=dt1*sdu1+(dt1^2/3)*jsdu1+(dt1^2/6)*jsdu;
  297.             wyi=wyi1+dtwyi1;
  298.             [xcj]=zhuanhuan(wyi,cn);
  299.             [sducj]=zhuanhuan(sdu,cn);
  300.             [jsducj]=zhuanhuan(jsdu,cn);
  301.             xcjq(:,i)=xcj;
  302.             sducjq(:,i)=sducj;
  303.             jsducjq(:,i)=jsducj;
  304.             fcjq(:,i)=fcj;
  305.             wyimt(:,i)=wyi*1000;
  306.             sdumt(:,i)=sdu;
  307.             jsdumt(:,i)=jsdu;
  308.         end
  309.     end
  310.     pdd=[pdd pd];           %阶段符号矩阵
  311.     [kju]=matrixju(kk,cn);        %刚度矩阵的聚合
  312.     [c0]=strdamp(m,kju,kxi1,kxi2,cn);  %求解结构的阻尼矩阵
  313.     plastic2=[plastic(2:cn);0];
  314.     plastic3=plastic-plastic2;
  315.     plasticmt=[plasticmt plastic3];
  316.     dtplastic=plastic3-plasticmt(:,i);
  317.     [wyi1]=cjzhuanhuan(xcj,cn);
  318.     [sdu1]=cjzhuanhuan(sducj,cn);
  319.     [jsdu1]=cjzhuanhuan(jsducj,cn);
  320.     kxin=kju+(3/tao)*c0+(6/tao^2)*m;
  321.     dpxin=-m*unit*agtao(i)+m*(6/tao*sdu1+3*jsdu1)+c0*(3*sdu1+tao/2*jsdu1)-ct*dtplastic;
  322.     dxtao=kxin\dpxin;
  323.     dtjsdu=6*dxtao/(ct*(tao^2))-6*sdu1/(ct*tao)-(3/ct)*jsdu1;
  324.     jsdu=jsdu1+dtjsdu;%新加速度
  325.     dtsdu=(dt/2)*(jsdu+jsdu1);
  326.     sdu=sdu1+dtsdu;  %新速度
  327.     dtwyi=dt*sdu1+(dt^2/3)*jsdu1+(dt^2/6)*jsdu;
  328.     wyi=wyi1+dtwyi;  %新位移
  329.     [xcj]=zhuanhuan(wyi,cn);
  330.     [sducj]=zhuanhuan(sdu,cn);
  331.     jsdu=-m\(m*unit*ag2(i)+c0*sdu+kju*wyi+plastic3);%加速度修正

  332.     [jsducj]=zhuanhuan(jsdu,cn);
  333.     fcj=kk.*xcj+plastic;
  334.     xcjq=[xcjq xcj];
  335.     sducjq=[sducjq sducj];
  336.     jsducjq=[jsducjq jsducj];
  337.     fcjq=[fcjq fcj];
  338.     wyimt=[wyimt wyi*1000];
  339.     sdumt=[sdumt sdu];
  340.     jsdumt=[jsdumt jsdu];
  341. end

  342. figure(1)
  343. subplot(3,1,1);
  344. plot(t,jsdumt(1,:),'k');
  345. subplot(3,1,2);
  346. plot(t,jsdumt(2,:),'k');
  347. subplot(3,1,3);
  348. plot(t,jsdumt(3,:),'k');

  349. figure(2)
  350. plot(xcjq(1,:),fcjq(1,:));%%%相对位移与层间剪力的关系图形。
  351. grid on
  352. title('一层的恢复力模型')

  353. figure(3)
  354. plot(xcjq(2,:),fcjq(2,:));%%%相对位移与层间剪力的关系图形。
  355. grid on
  356. title('二层的恢复力模型')


  357. figure(4)
  358. plot(xcjq(3,:),fcjq(3,:));%%%相对位移与层间剪力的关系图形。
  359. grid on
  360. title('三层的恢复力模型')









复制代码
 楼主| 发表于 2013-3-3 20:27 | 显示全部楼层
子程序zhuanhuan
  1. %子程序:相对于地面的反应值转换成层间相对反应值
  2. %change absolute value into inter-story value
  3. function[inavx]=zhuanhuan(avx,cn)
  4. inavx(1)=avx(1);
  5. for i=2:cn
  6.     inavx(i)=avx(i)-avx(i-1);
  7. end
  8. inavx=inavx';
复制代码
 楼主| 发表于 2013-3-3 20:28 | 显示全部楼层
子程序strpara
  1. %caculate the fourth stiffness and initial value of 'fp and fn"
  2. function[k4stif,fp,fn]=strpara(cn,k3stif,xc,xy)
  3. fp=zeros(cn,1);
  4. fn=zeros(cn,1);
  5. for i=1:cn
  6.     k4th(i,1)=(k3stif(i,1)*xc(i)+k3stif(i,2)*(xy(i)-xc(i)))/xy(i);  %%塑性时卸载的刚度k4。
  7.     fp(i)=k3stif(i,1)*xc(i)+k3stif(i,2)*(xy(i)-xc(i));   %%达到最大弹性时所受的力。
  8.     fn(i)=-fp(i);
  9. end
  10. k4stif=[k3stif k4th];%%k4stif的第1,2,4,列分别对应3线性的 k1,k2,k4.
复制代码
 楼主| 发表于 2013-3-3 20:30 | 显示全部楼层
子程序strdamp
  1. %子程序:求解结构的阻尼矩阵
  2. % solve damping of structure
  3. function [c0]=strdamp(m,kju,kxi1,kxi2,cn)
  4. [zhx,www]=eig(kju,m);
  5. www=sqrt(www);
  6. w=sort(diag(www));  %vibration frequency
  7. a=2*w(1)*w(2)*(kxi1*w(2)-kxi2*w(1))/(w(2)^2-w(1)^2);
  8. b=2*(kxi2*w(2)-kxi1*w(1))/(w(2)^2-w(1)^2);
  9. c0=a*m+b*kju;
复制代码
 楼主| 发表于 2013-3-3 20:31 | 显示全部楼层
子程序matrixju
  1. %子程序:形成刚度矩阵或阻尼矩阵的聚合矩阵
  2. % matrix aggregation of system
  3. function[kcju]=matrixju(korc,cn)
  4. kcju=zeros(cn);
  5. for i=1:cn-1
  6.     kcju(i,i)=korc(i)+korc(i+1);
  7.     kcju(i,i+1)=-korc(i+1);
  8.     kcju(i+1,i)=-korc(i+1);
  9. end
  10. kcju(cn,cn)=korc(cn);
  11.    
复制代码
 楼主| 发表于 2013-3-3 20:32 | 显示全部楼层
子程序cjzhuanhuan
  1. %子程序;层间相对反应值转换成相对地面的反应值
  2. %inter-story value change into absolute value
  3. function[avx]=cjzhuanhuan(inavx,cn)
  4. avx(1)=inavx(1);
  5. for i=2:cn
  6.     avx(i)=inavx(i)+avx(i-1);
  7. end
  8. avx=avx';
复制代码
 楼主| 发表于 2013-3-3 20:43 | 显示全部楼层
关于时程分析的资料,见本楼附件

matlab三折线弹塑性分析资料2.pdf

370 KB, 下载次数: 22

matlab三折线弹塑性分析资料1.pdf

443.62 KB, 下载次数: 20

发表于 2013-8-24 14:49 | 显示全部楼层
谢谢楼主分享~
发表于 2013-9-29 14:54 | 显示全部楼层
谢谢分享
!!!!!
发表于 2014-6-10 16:47 | 显示全部楼层
看不到pdf
发表于 2014-6-10 16:58 | 显示全部楼层
发表于 2014-6-10 17:03 | 显示全部楼层
求楼主放PDF啊
发表于 2014-6-10 17:22 | 显示全部楼层
chybeyond 发表于 2014-6-10 16:58
http://forum.vibunion.com/thread-132101-1-1.html

多谢了!做任务去了
发表于 2014-10-8 09:32 | 显示全部楼层
权限不够,PDF看不到啊。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 09:10 , Processed in 0.074746 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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