matab 在结构力学中的应用.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matab 在结构力学中的应用

PAGE Matlab在结构力学中的应用 马晓光,于国清 (白城师范学院 机电系,白城师范学院 土木系) 摘 要  本文结合实例,介绍了Matlab在结构力学计算中的应用方法,展示了Matlab在结构有限元编程中的简捷性与高效性。本文介绍的方法,在结构有限元计算中具有普遍的适用性。 关键词  Matlab  有限元  编程 APPLICATION OF MATLAB IN STRUCTURAL MECHANICS Ma Xiaoguang,Yu Guoqing ( Baicheng Normal College, Baicheng Jilin 137000, China ) Abstract This paper introduces a method of application of Matlab in structural FEM, taking a continuous beam as an example. The method indicates the neatness and high efficiency of Matlab in programming a structural FEM and can be applied to many kinds of structures. Keywords FEM; Matlab; programming; 1 引 言   Matlab既是强大的数学软件,又是一种简洁、高效的科技编程语言,这一点在结构力学有限元计算中得到了充分的体现。Matlab最突出的特点就是处理矩阵的各种运算,而大量的矩阵运算正是结构有限元计算非常需要的。此外,利用Matlab的绘图功能,还可直接绘出结构的内力图。因此,Matlab对于结构力学计算是十分有利的工具。 2 MATLAB编程实例 单元编号 节点i 节点j ① 1 2 ② 2 3 ③ 3 4 10kN/m30kN3m3m2m2m图11          2         3        4 10kN/m 30kN 3m 3m 2m 2m 图1 1          2         3        4 ① ② ③   该结构可以用三弯矩方程求解,也可以用矩阵位移法求解。前者仅适用于连续梁结构,而后者除了适用于连续梁之外,还能适用于其他类型的结构,应用范围很广,更具有普遍性。因此,以下根据矩阵位移法编写计算程序,以展示Matlab在结构力学中应用的一般方法。   第一步,给整体各节点编号,如图1所示。各单元的编号及其连通性见表格。   第二步,利用Matlab函数建立各单元的刚度阵。该函数为 function y=BeamES(x) % x为梁的原始参数矩阵 y = x(1)*x(2)/(x(3)*x(3)*x(3))*[12 6*x(3) -12 6*x(3) ; 6*x(3) 4*x(3)*x(3) -6*x(3) 2*x(3)*x(3) ; -12 -6*x(3) 12 -6*x(3) ; 6*x(3) 2*x(3)*x(3) -6*x(3) 4*x(3)*x(3)];   第三步,建立整体刚度阵。因为该结构有4个节点,每个节点有两个未知数(可考虑支座沉降),所以,整体刚度阵为8×8的方阵。首先利用下面的语句生成一个8×8的0矩阵: K=zeros(8), 然后,反复调用下面的函数,便可由单元刚度阵生成整体刚度阵: function y = BeamAssemble(K,k,i,j) % 其中K为整体刚度阵,k为单元刚度阵, % i,j为单元两端在整体节点上的编号。 K(2*i-1,2*i-1) = K(2*i-1,2*i-1) + k(1,1); K(2*i-1,2*i) = K(2*i-1,2*i) + k(1,2); K(2*i-1,2*j-1) = K(2*i-1,2*j-1) + k(1,3); K(2*i-1,2*j) = K(2*i-1,2*j) + k(1,4); K(2*i,2*i-1) = K(2*i,2*i-1) + k(2,1); K(2*i,2*i) = K(2*i,2*i) + k(2,2); K(2*i,2*j-1) = K(2*i,2*j-1) + k(2,3); K(2*i,2*j) = K(2*i,2*j) + k(2,4); K(2*j-1,2*i-1) = K(2*j-1,2*i-1) + k(3,1); K(2*j-1,2*i) = K(2*j-1,2*i) + k(3,2); K(2*j-1,2*j-1) = K(2*j-1,2*j-1) + k(3,3); K(2*j-1,2*j) = K(2*j-1,2*j) + k(3,4); K(2

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档