平面桁架程序展示.ppt
文本预览下载声明
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)访问方式,在非效率关键,执行次数较少,而灵活性要求较高的代码中,可以考虑使用动态名称的域访问。
显示全部