文档详情

平面桁架程序展示.ppt

发布:2017-06-16约1.93千字共27页下载文档
文本预览下载声明
L o g o 平面桁架程序展示 时间:2013年2月18日 主题 我们小组用MATLAB软件编写平面桁架程序,主要由组长黄金负责编写。经过两个星期的激战,我们终于完成了程序的编写; 下面开始我们的程序展示; 特点 程序思想 程序思想 主函数 程序组成 具体结构 过程 2008.11.10 算出简单 有些困难 算出选做题 可视化 Programming History 2008.11.3 2008.11.5 2008.10.30 手算过程 画出图形 平面桁架必做题: n=4 nc=2 n-nc=2 m=6 L=1m 必做题原始数据 节点号 1 2 3 4 X 0 1 0.5 0.5 y 0 0 /6 /2 节点坐标 杆号 ① ② ③ ④ ⑤ ⑥ ihl 1 3 2 1 2 1 ihr 4 4 4 3 3 2 ea 4800000 4800000 4800000 4800000 4800000 4800000 杆元信息 节点 3 4 Px 0 90.710678 Py 0 -70.710678 载荷 由平面桁架的累加规律可得: 平面桁架的总纲为: 外力向量 必做题手算结果: 杆件 1 2 3 4 5 6 轴力 61.23KN -19.65KN -120.19KN -19.65KN -19.65KN 0KN 节点 u1 u2 u3 u4 位移 0m -0.0000047276m 0.000037796m -0.0000070914m 选做题 平面桁架选做题图: n=6 nc=4 n-nc=2 m=11 L=4m 源数据 节点坐标 节点号 1 2 3 4 5 6 X 0 8 4 0 4 8 y 0 0 0 4 4 4 杆元信息 杆号 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑾ ihl 1 2 1 1 3 4 3 2 3 5 2 ihr 3 3 4 5 4 5 5 5 6 6 6 ea 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 节点载荷 节点 3 4 5 6 Px 0 0 0 0 Py 0 0 -30KN 0 由平面桁架的累加规律可得: 计算过程 平面桁架的总纲为 选做题手算结果 杆件 1 2 3 4 5 6 7 8 9 10 11 轴力 (KN) 0.00 0.00 -4.39 -15.00 6.21 -4.39 -8.79 -15.00 6.21 -4.39 -4.39 节点 u1 u2 u3 u4 u5 u6 u7 u8 位移 0.000000 -0.000424 0.000088 -0.000088 0.000000 -0.000600 -0.000088 -0.000088 程序分工 选题:徐庆旋 手算:徐庆旋 程序编写:黄金 PPT制作:黄金,徐庆旋 L o g o Click to edit company slogan . 原始图 位移图 选做题图 位移图 Gauss-Seidel迭代法 Matlab 程序优化 虽然for-loop的速度有了很大改善,vectorization(向量化)仍旧是改善效率的重要途径,尤其是在能把运算改写成矩阵乘法的情况下,改善尤为显著。 MATLAB的函数调用过程(非built-in function)有显著开销,因此,在效率要求较高的代码中,应该尽可能采用扁平的调用结构,也就是在保持代码清晰和可维护的情况下,尽量直接写表达式和利用built-in function,避免不必要的自定义函数调用过程。在次数很多的循环体内(包括在cellfun, arrayfun等实际上蕴含循环的函数)形成长调用链,会带来很大的开销。 在调用函数时,首选built-in function,然后是普通的m-file函数,然后才是function handle或者anonymous function。在使用function handle或者anonymous function作为参数传递时,如果该函数被调用多次,最好先用一个变量接住,再传入该变量。这样,可以有效避免重复的解析过程。 在可能的情况下,使用numeric array或者struct array,它们的效率大幅度高于cell array(几十倍甚至更多)。对于struct,尽可能使用普通的域(字段,field)访问方式,在非效率关键,执行次数较少,而灵活性要求较高的代码中,可以考虑使用动态名称的域访问。
显示全部
相似文档