欢迎来到天天文库
浏览记录
ID:20301385
大小:123.48 KB
页数:7页
时间:2018-10-10
《2016基本平面刚架各种荷载matlab程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、%平面刚架MATLAB程序%2003.9.162007.2.282008.4.12009.102011.102013.92014.092016.03<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#<{#^9/2、Jw3、Jw4、l);NFPOIN=fscanf(FPl;%d,,l);NFPRES=fscanf(FPl;%dl);YOUNG=fscanf(FPl;%fl);%读取结构信息LNODS=fscanf(FPl,,%f,[6,NELEM])t%单元定义:左、右结点号,面积,惯性矩,线膨胀系数,截面高度(共计NELEM组》COORD=fscanf(FPl,’%f,[2,NPOIN])’%坐标:x,y坐标(共计NPOIN组》FPOIN=fscanf(FPl/%r,[4,NFPOIN])’%节点力(共计NFPOIN组):受力结点号5、、X方向力(向右正》,%Y方向力(向上正),M力偶(逆时针正》FPRES=fscanf(FPl/%f,[7,NFPRES])’%均布力(共计%NFPRES组》:单元号、荷载类型、荷载大小、距离左端长度,温差=(下端-上端〉梯形上边。下边(改)%荷载类型1-均布荷载2•横向集中力3-纵向集中力4-三角形荷载5-温度荷载6-梯形荷载FIXED=fscanf(FPl;%f,NVFIX)*%约束信息:约束对应的位移编码(共计NVF1X组》HK=zeros(3*NPC«N,3*NPOIN);%张成总刚矩阵并清零FORCE6、=zeros(3*NPOIN,l);%张成总荷载向量并清零%形成总刚fori=l:NELEM%对单元个数循环%生成局部单刚(局部坐标)右手坐标系EK=ele_EK(i,LNODS,COORD,YOUNG);T=zbzh(i,LNODS,COORD);%坐标转换矩阵EKT=T’*EK*T;%生成整体单刚(整体坐标系)%组成总刚按3*3子块加入总刚中(共计4块)forj=l:2%对行进行循环…按结点号循环Nl=LNODS(id)*3;%j结点第3个位移的整体编码fork=l:2%对列进行循环…按结点号循环N2=LN7、ODS(i,k)*3;%k结点第3个位移的整体编码HK((N1-2):N1,(N2-2):N2)=HK((N1-2):N1,(N2-2):N2)+EKT(j*3-2:j*3,k*3-2:k*3);%单刚3x3子块叠加到总刚中end%由结点力与非结点力生成总荷载向量列阵fori=l:NFPOIN%对结点荷载个数进行循环Nl=FPOIN(i,l);%作用荷载的结点号Nl=Nl*3-3;%该结点号对应第一个位移编码-1forj=l:3FORCE(Nl+j)=FORCE(Nl+j)+FPOIN(iJ+l);%取结点荷载8、end%计算由非结点荷载引起的等效结点荷载fori=l:NFPRES%对非结点荷载个数进行循环端力FO=ele_FPRES(i,FPRES,LNODS,COORD,YOUNG);%计算单元%对i元局部杆端力要进行坐标转换eIe=FPRES(i,l);%取荷载所在的单元号T=zbzh(ele,LNODS,COORD);%坐标转换矩阵F0=T’*F0;NL=LNODS(eIe,l);NR=
2、Jw3、Jw4、l);NFPOIN=fscanf(FPl;%d,,l);NFPRES=fscanf(FPl;%dl);YOUNG=fscanf(FPl;%fl);%读取结构信息LNODS=fscanf(FPl,,%f,[6,NELEM])t%单元定义:左、右结点号,面积,惯性矩,线膨胀系数,截面高度(共计NELEM组》COORD=fscanf(FPl,’%f,[2,NPOIN])’%坐标:x,y坐标(共计NPOIN组》FPOIN=fscanf(FPl/%r,[4,NFPOIN])’%节点力(共计NFPOIN组):受力结点号5、、X方向力(向右正》,%Y方向力(向上正),M力偶(逆时针正》FPRES=fscanf(FPl/%f,[7,NFPRES])’%均布力(共计%NFPRES组》:单元号、荷载类型、荷载大小、距离左端长度,温差=(下端-上端〉梯形上边。下边(改)%荷载类型1-均布荷载2•横向集中力3-纵向集中力4-三角形荷载5-温度荷载6-梯形荷载FIXED=fscanf(FPl;%f,NVFIX)*%约束信息:约束对应的位移编码(共计NVF1X组》HK=zeros(3*NPC«N,3*NPOIN);%张成总刚矩阵并清零FORCE6、=zeros(3*NPOIN,l);%张成总荷载向量并清零%形成总刚fori=l:NELEM%对单元个数循环%生成局部单刚(局部坐标)右手坐标系EK=ele_EK(i,LNODS,COORD,YOUNG);T=zbzh(i,LNODS,COORD);%坐标转换矩阵EKT=T’*EK*T;%生成整体单刚(整体坐标系)%组成总刚按3*3子块加入总刚中(共计4块)forj=l:2%对行进行循环…按结点号循环Nl=LNODS(id)*3;%j结点第3个位移的整体编码fork=l:2%对列进行循环…按结点号循环N2=LN7、ODS(i,k)*3;%k结点第3个位移的整体编码HK((N1-2):N1,(N2-2):N2)=HK((N1-2):N1,(N2-2):N2)+EKT(j*3-2:j*3,k*3-2:k*3);%单刚3x3子块叠加到总刚中end%由结点力与非结点力生成总荷载向量列阵fori=l:NFPOIN%对结点荷载个数进行循环Nl=FPOIN(i,l);%作用荷载的结点号Nl=Nl*3-3;%该结点号对应第一个位移编码-1forj=l:3FORCE(Nl+j)=FORCE(Nl+j)+FPOIN(iJ+l);%取结点荷载8、end%计算由非结点荷载引起的等效结点荷载fori=l:NFPRES%对非结点荷载个数进行循环端力FO=ele_FPRES(i,FPRES,LNODS,COORD,YOUNG);%计算单元%对i元局部杆端力要进行坐标转换eIe=FPRES(i,l);%取荷载所在的单元号T=zbzh(ele,LNODS,COORD);%坐标转换矩阵F0=T’*F0;NL=LNODS(eIe,l);NR=
3、Jw4、l);NFPOIN=fscanf(FPl;%d,,l);NFPRES=fscanf(FPl;%dl);YOUNG=fscanf(FPl;%fl);%读取结构信息LNODS=fscanf(FPl,,%f,[6,NELEM])t%单元定义:左、右结点号,面积,惯性矩,线膨胀系数,截面高度(共计NELEM组》COORD=fscanf(FPl,’%f,[2,NPOIN])’%坐标:x,y坐标(共计NPOIN组》FPOIN=fscanf(FPl/%r,[4,NFPOIN])’%节点力(共计NFPOIN组):受力结点号5、、X方向力(向右正》,%Y方向力(向上正),M力偶(逆时针正》FPRES=fscanf(FPl/%f,[7,NFPRES])’%均布力(共计%NFPRES组》:单元号、荷载类型、荷载大小、距离左端长度,温差=(下端-上端〉梯形上边。下边(改)%荷载类型1-均布荷载2•横向集中力3-纵向集中力4-三角形荷载5-温度荷载6-梯形荷载FIXED=fscanf(FPl;%f,NVFIX)*%约束信息:约束对应的位移编码(共计NVF1X组》HK=zeros(3*NPC«N,3*NPOIN);%张成总刚矩阵并清零FORCE6、=zeros(3*NPOIN,l);%张成总荷载向量并清零%形成总刚fori=l:NELEM%对单元个数循环%生成局部单刚(局部坐标)右手坐标系EK=ele_EK(i,LNODS,COORD,YOUNG);T=zbzh(i,LNODS,COORD);%坐标转换矩阵EKT=T’*EK*T;%生成整体单刚(整体坐标系)%组成总刚按3*3子块加入总刚中(共计4块)forj=l:2%对行进行循环…按结点号循环Nl=LNODS(id)*3;%j结点第3个位移的整体编码fork=l:2%对列进行循环…按结点号循环N2=LN7、ODS(i,k)*3;%k结点第3个位移的整体编码HK((N1-2):N1,(N2-2):N2)=HK((N1-2):N1,(N2-2):N2)+EKT(j*3-2:j*3,k*3-2:k*3);%单刚3x3子块叠加到总刚中end%由结点力与非结点力生成总荷载向量列阵fori=l:NFPOIN%对结点荷载个数进行循环Nl=FPOIN(i,l);%作用荷载的结点号Nl=Nl*3-3;%该结点号对应第一个位移编码-1forj=l:3FORCE(Nl+j)=FORCE(Nl+j)+FPOIN(iJ+l);%取结点荷载8、end%计算由非结点荷载引起的等效结点荷载fori=l:NFPRES%对非结点荷载个数进行循环端力FO=ele_FPRES(i,FPRES,LNODS,COORD,YOUNG);%计算单元%对i元局部杆端力要进行坐标转换eIe=FPRES(i,l);%取荷载所在的单元号T=zbzh(ele,LNODS,COORD);%坐标转换矩阵F0=T’*F0;NL=LNODS(eIe,l);NR=
4、l);NFPOIN=fscanf(FPl;%d,,l);NFPRES=fscanf(FPl;%dl);YOUNG=fscanf(FPl;%fl);%读取结构信息LNODS=fscanf(FPl,,%f,[6,NELEM])t%单元定义:左、右结点号,面积,惯性矩,线膨胀系数,截面高度(共计NELEM组》COORD=fscanf(FPl,’%f,[2,NPOIN])’%坐标:x,y坐标(共计NPOIN组》FPOIN=fscanf(FPl/%r,[4,NFPOIN])’%节点力(共计NFPOIN组):受力结点号
5、、X方向力(向右正》,%Y方向力(向上正),M力偶(逆时针正》FPRES=fscanf(FPl/%f,[7,NFPRES])’%均布力(共计%NFPRES组》:单元号、荷载类型、荷载大小、距离左端长度,温差=(下端-上端〉梯形上边。下边(改)%荷载类型1-均布荷载2•横向集中力3-纵向集中力4-三角形荷载5-温度荷载6-梯形荷载FIXED=fscanf(FPl;%f,NVFIX)*%约束信息:约束对应的位移编码(共计NVF1X组》HK=zeros(3*NPC«N,3*NPOIN);%张成总刚矩阵并清零FORCE
6、=zeros(3*NPOIN,l);%张成总荷载向量并清零%形成总刚fori=l:NELEM%对单元个数循环%生成局部单刚(局部坐标)右手坐标系EK=ele_EK(i,LNODS,COORD,YOUNG);T=zbzh(i,LNODS,COORD);%坐标转换矩阵EKT=T’*EK*T;%生成整体单刚(整体坐标系)%组成总刚按3*3子块加入总刚中(共计4块)forj=l:2%对行进行循环…按结点号循环Nl=LNODS(id)*3;%j结点第3个位移的整体编码fork=l:2%对列进行循环…按结点号循环N2=LN
7、ODS(i,k)*3;%k结点第3个位移的整体编码HK((N1-2):N1,(N2-2):N2)=HK((N1-2):N1,(N2-2):N2)+EKT(j*3-2:j*3,k*3-2:k*3);%单刚3x3子块叠加到总刚中end%由结点力与非结点力生成总荷载向量列阵fori=l:NFPOIN%对结点荷载个数进行循环Nl=FPOIN(i,l);%作用荷载的结点号Nl=Nl*3-3;%该结点号对应第一个位移编码-1forj=l:3FORCE(Nl+j)=FORCE(Nl+j)+FPOIN(iJ+l);%取结点荷载
8、end%计算由非结点荷载引起的等效结点荷载fori=l:NFPRES%对非结点荷载个数进行循环端力FO=ele_FPRES(i,FPRES,LNODS,COORD,YOUNG);%计算单元%对i元局部杆端力要进行坐标转换eIe=FPRES(i,l);%取荷载所在的单元号T=zbzh(ele,LNODS,COORD);%坐标转换矩阵F0=T’*F0;NL=LNODS(eIe,l);NR=
此文档下载收益归作者所有