Skip to content

Meelfy/MDM

Repository files navigation

Matrix displacement method

该文件用来说明结构力学2大作业Matrix displacement method的相关内容,所有数据文件文件和源码文件采用UTF-8编码。

  • Author: 梅杰
  • Student No: 2014010348
  • Class No: 水工43

实现功能

根据结构力学教程第九章的主要内容,本人基于

MATLAB 版本: 9.0.0.341360 (R2016a)
MATLAB 许可证编号: 123456
操作系统: Microsoft Windows 10 家庭中文版 Version 10.0 (Build 14393)
Java 版本: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode

实现了矩阵位移法的计算机运算,包含以下功能:

  • 单元刚度矩阵的计算
  • 整体刚度矩阵的集成
  • 求解线性代数方程组
  • 求解病态线性方程组
  • 绘制结构的内力图
  • 保存各单元的杆端力向量

文件结构说明

输入文件结构说明

文件保存在以下目录

/INPUT

各文件的结构如下,所有数据均以double保存,单位均为国际单位制

/INPUT/bar.dat
杆件编号 起始节点 终止节点 长度l 倾角 EA EI
/INPUT/node.dat
节点编号 u v θ
/INPUT/ExternalForce.dat  

受力情况暂时分为3种

第一种分布作用力数据结构如下

受力编号1 杆件编号 a q

第二种集中作用力数据结构如下

受力编号2 杆件编号 a F

第三种沿杆集中作用力

受力编号6 杆件编号 a F

当F与杆件正方向相同为正

  • 具体参数含义可参照课本P325表9-1

输出文件结构说明

输出文件保存在

/OUTPUT/FORCE.dat

输出各个杆件的杆端力向量,文件为 6*n 的矩阵,第 i 个杆件的杆端力向量保存在第 i 列。

算法亮点

求解病态线性方程组

因为所给的两个矩阵为病态矩阵条件数分别为802.0911(问题1),1613.8094(问题2),已经远大于1,方程的微小摄动会引起解的很大变化。所以基于Matlab的Symbolic Math Toolbox 版本 7.0 (R2016a)进行了符号化运算,在求得矩阵位移法基本方程的精确解。同时,因为矩阵位移法需要求解的基本方程多为病态矩阵,所以符号求解具有一定的的必要性。

程序的鲁棒性

本程序对多数常见的情况均适用,本人已经测试了第九章所有要求写的作业题:blush:,均与手算结果以及参考答案一致,具有较好的适应性。

运行结果

问题一的运行结果为

问题二的运行结果为

### Function description
  • 程序的入口

    main.m

  • 计算等效节点荷载

    equivalentNodalLoads.m

  • 计算整体刚度矩阵

    assembledStiffnessMatrix.m

  • 计算杆端力向量

    rodEndForceVector.m

  • 绘制原结构图、弯矩图、剪力图和轴力图

    displayStructure.m

License

Copyright 2016 梅杰 or Major

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; If not, see

http://www.gnu.org/licenses

About

Matrix displacement method / 矩阵位移法

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages