单自由度matlab

  • asd123
    了解作者
  • matlab
    开发工具
  • 1.8KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 0
    下载次数
  • 2022-05-15 15:07
    上传日期
详细解读隔震单自由度以及bouc-wen模型matlab
单自由度matlab.zip
  • 单自由度matlab
  • DZYD.m
    2.9KB
内容介绍
clear; clc; rgb=load('D:\大论文文献\数据分析\地震波\XIN11.txt'); Length=length(rgb);%地震波数据长度 dt=0.001; nt=length(rgb); rgb=5*rgb'; %%%%%%%%%%正弦激励输入%%%%%%%%%%% %需要改变的数据 m0=18545764;%上部结构质量kg k1=127.1*1e6;%隔震层屈服前刚度 fy=2542000;%隔震层屈服力(以LRB800为例) w=2*3.14;%外荷载频率 %需要改变的数据 %%%%%输入boucwen模型参数%%%%% am=0.13; %隔震支座屈服后刚度与初始刚度之比kd/ku Am=1; bm=0.5; gm=0.5;%控制滞回曲线形状的参数 um=1;%屈服指数 u=1.03; n=1;%楼层数 ni=1;%隔震支座个数 xy=fy/k1;%隔震层屈服位移 g=10;%重力加速度m/s^2 gama=0.01;%隔震支座水平切应变 tr=200;%橡胶层厚度 keq=(1+am.*(u-1))./u.*k1;%隔震支座等效刚度 weq=(keq./m0)^0.5; beta1=w/weq;%频率比;%等效自振频率 kethi2=(1.7.*(1-1./u))./(pi.*((1+0.15.*(u-1))));%隔震支座等效阻尼比 kethi=kethi2+0.05;%隔震结构阻尼比 c=2*m0*weq*kethi; kethiH=kethi2/(kethi*beta1);%耗能比 %%%Newmark-β法结构动力响应计算 t=0:0.001:10;%时间历程(s) x=zeros(n,nt);%位移 v=zeros(n,nt);%速度 a=zeros(n,nt);%加速度 z=zeros(1,nt);%滞回位移 Q=4*m0/(dt^2)+2*c/dt;%Newmark-β法参数 W=4*m0/dt+c; E=m0;%平均加速度法 beta=1/4; for i=1:nt-1 i; detaR=-m0*(rgb(i+1)-rgb(i))+W*v(:,i)+E*a(:,i); Kb=k1*am+k1*(1-am)*(Am-(bm*sign(v(n,i)*z(i))+gm)*(abs(z(i)))^um); KT=Kb+Q; detaxi(:,i)=KT\detaR; fstem=k1*am*x(n,i)+(1-am)*fy*z(i);%附加水平刚度 fs(:,i)=Kb*x(:,i)+fstem;%i时刻结构总恢复力 j=1; xi(:,j)=x(:,i); fsi(:,j)=fs(:,i); detaRi(:,j)=detaR; detaxij(:,j)=detaxi(:,i); zi=zeros(1,nt); zi(j)=z(i); detaxip1(:,j)=detaxij(:,j);%detaxip1表示detaxi+1 while abs(transpose(detaRi(:,j))*detaxij(:,j))/abs(transpose(detaR)*detaxip1(:,j))>0.001 j=j+1; if j>100 %避免因不收敛而无限循环 break end xi(:,j)=xi(:,j-1)+detaxij(:,j-1); zi(j)=zi(j-1)+(1/xy)*detaxij(n,j-1)*(Am-(bm*sign(detaxij(n,j-1)*zi(j-1))+gm)*(abs(zi(j-1)))^um); fstem=k1*am*xi(n,j)+(1-am)*fy*zi(j); fsi(:,j)=Kb*xi(:,j)+fstem;%结构总恢复力 detafsi(:,j-1)=fsi(:,j)-fsi(:,j-1)+Q*detaxij(:,j-1); detaRi(:,j)=detaRi(:,j-1)-detafsi(:,j-1); detaxij(:,j)=KT\detaRi(:,j); detaxip1(:,j)=detaxip1(:,j-1)+detaxij(:,j); end detaxi(:,i)=detaxip1(:,j); %%%%%%迭代完毕%%%%%%%%%%% detav(:,i)=2/dt*detaxi(:,i)-2*v(:,i); detaa(:,i)=4/dt^2*detaxi(:,i)-4/dt*v(:,i)-2*a(:,i); x(:,i+1)=detaxi(:,i)+x(:,i); v(:,i+1)=detav(:,i)+v(:,i); a(:,i+1)=detaa(:,i)+a(:,i); z(i+1)=z(i)+(1/xy)*detaxi(n,i)*(Am-(bm*sign(v(n,i)*z(i))+gm)*(abs(z(i)))^um); ffs(n,1)=0; ffs(n,i+1)=k1*am*x(n,i+1)+(1-am)*fy*z(i+1);%隔震层提供的恢复力 end u0=max(abs(x));%位移幅值 Weq=2*pi*kethi2*keq*u0^2;%隔震支座耗能 Ws=2*pi*kethi*beta1*keq*u0^2;%输入能 %%%隔震层滞回曲线 figure(1) plot(x(n,:)*1000,ffs(n,:)/1000,'-b') legend('隔震层水平滞回曲线') xlabel('mm ') ylabel('kN') figure(2) plot(x,'b'); legend('隔震层水平滞回曲线') xlabel('时程步数 ') ylabel('隔震结构位移/m')
评论
    相关推荐
    • Matlab合集
      冈萨雷斯数字图像处理MATLAB版.中文版+数字图像处理第二版中文版(冈萨雷斯)+MATLAB-R2014a完全自学一本通+MATLAB R2016a完全自学一本通 素材文件+[模式识别与智能计算:MATLAB技术实现(第2版)].杨淑莹.扫描版
    • MATLAB教程
      MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程
    • MATLAB
      MATLAB 该项目是在matlab上完成的,涉及创建和移动宇宙飞船和机器人。 太空飞船和机器人是使用Matlab中的简单几何形状创建的,并通过连续变换矩阵进行移动。 这个项目教我如何使用变换矩阵(旋转,平移等)的概念...
    • MATLAB基础
      一本学习matlab的一本好书
    • MATLAB编译器
      基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。
    • matlabruntime
      通过奇点容器运行您的matlab项目 可以在没有MATLAB的容器中运行matlab代码。 为此,我们首先需要通过Matlab编译器在本地构建相应的Matlab代码的独立应用程序,然后使用具有Matlab运行时( 的容器)运行该应用程序 )...
    • matlab实现
      matlab实现 matlab实现matlab实现matlab实现matlab实现
    • matlab 教程
      matlab 信号处理资料,里面包含信号处理pdf文档,一些杂乱的程序和命令等
    • matlab教程
      matlab教程,PPT格式,包含 matlab基本知识、matlab入门、matlab作图、线性规划、无约束优化、非线性规划、统计工具箱、差值、微分方程等多项知识点,并且每个知识点独立成为PPT,内还含有matlab信号处理详解等文档...
    • matlab简介
      1.MATLAB 开发环境 1.1 MATLAB 的视窗环境 进入MATLAB之后,会看到一个视窗MATLAB Command Window称为指令视窗,它是你键入指令的地方同时 MATLAB也将计算结果显示在此。 1.2 简易计算 我们先从MATLAB的...