matlab 矩阵位移法编程 结构力学.doc

矩阵位移法编程大作业(091210211)一、编制原理本程序的原理是基于结构力学矩阵位移法原理,以结构结点位移作基本未知量,将要分析的结构拆成已知节点力—结点力位移关系的单跨梁集合,通过强令结构发生待定的基本未知位移,在各个单跨梁受力分析结果的基础上通过保证结构平衡建立位移法的线性方程组,从而求得基本未知量。二、程序说明本程序是计算3层11跨框架右侧结点的位移和弯矩的程序,编译过程是按照矩阵位移法的先处理法进行的。首先将结构杆件的交汇点作为结点,共有36个结点和108个位移编号,然后根据梁、柱、斜杆的不同分别建立单元刚度矩阵,然后转换为整体坐标系下的刚度矩阵,然后将所有杆件的单元刚度矩阵整合成为总体刚度矩阵,在进行整合时连续运用for函数,最终形成108阶的总体刚度矩阵。然后通过对荷载的分析自己确定出荷载矩阵,直接写进程序。这样就可以把36个结点的108个位移求得,然后再利用各个单元的单元刚度矩阵和所得的位移求得单元杆件的内力。离散化编号如下图:三、算法流程结构离散化编号单元分析建立梁、柱、斜杆的局部坐标系下的单元刚度矩阵确定梁、柱、斜杆在整体坐标系下的刚度矩阵先处理法把各个杆件的单元刚度矩阵整合成总体刚度矩阵确定综合结点荷载矩阵建立方程,求解位移利用杆件单元刚度矩阵和所求位移求内力四、源代码%结构力学大作业3层11跨框架矩阵位移法编程王贝091210211h=( 输入单层高h: );L=( 输入单跨度L: );EIc=( 输入柱子的抗弯刚度EIc: );EAc=( 输入柱子的抗压刚度EAc: );EIb=( 输入梁的抗弯刚度EIb: );EAb=( 输入梁的抗压刚度EAb: );EIo=( 输入斜杆的抗弯刚度EIo: );EAo=( 输入斜杆的抗压刚度EAo: );q=( 输入侧向均布荷载集度q: );T1=[1,0,0,0,0,0;0,1,0,0,0,0;0,0,1,0,0,0;0,0,0,1,0,0;0,0,0,0,1,0;0,0,0,0,0,1];%角度为0°的转换矩阵T2=[0,1,0,0,0,0;-1,0,0,0,0,0;0,0,1,0,0,0;0,0,0,0,1,0;0,0,0,-1,0,0;0,0,0,0,0,1];%角度为90°的转换矩阵x=atan(h/L);T=[cos(x),sin(x),0,0,0,0;-sin(x),cos(x),0,0,0,0;0,0,1,0,0,0;0,0,0,cos(x),sin(x),0;0,0,0,-sin(x),cos(x),0;0,0,0,0,0,1];%斜杆的转换矩阵T3=T;%梁的单元刚度矩阵kb0=[EAb/L00-EAb/L00;012*EIb/(L*L*L)6*EIb/(L*L)0-12*EIb/(L*L*L)6*EIb/(L*L);06*EIb/(L*L)4*EIb/L0-6*EIb/(L*L)2*EIb/L;-EAb/L00EAb/L00;0-12*EIb/(L*L*L)-6*EIb/(L*L)012*EIb/(L*L*L)-6*EIb/(L*L);输出结果结束06*EIb/(L*L)2*EIb/L0-6*EIb/(L*L)4*EIb/L];%柱子的单元刚度矩阵kc0=[EAc/h00-EAc/h00;012*EIc/(h*h*h)6*EIc/(h*h)0-12*EIc/(h*h*h)6*EIc/(h*h);06*EIc/(h*h)4*EIc/h0-6*EIc/(h*h)2*EIc/h;-EAc/h00EAc/h00;0-12*EIc/(h*h*h)-6*EIc/(h*h)012*EIc/(h*h*h)-6*EIc/(h*h);06*EIc/(h*h)2*EIc/h0-6*EIc/(h*h)4*EIc/h;];%斜杆的单元刚度矩阵H=sqrt(h*h+L*L);ko0=[EAo/H00-EAo/H00;012*EIo/(H*H*H)6*EIo/(H*H)0-12*EIo/(H*H*H)6*EIo/(H*H);06*EIo/(H*H)4*EIo/H0-6*EIo/(H*H)2*EIo/H;-EAo/H00EAo/H00;0-12*EIo/(H*H*H)-6*EIo/(H*H)012*EIo/(H*H*H)-6*EIo/(H*H);06*EIo/(H*H)2*EIo/H0-6*EIo/(H*H)4*EIo/H];kb=T1 *kb0*T1;%总体坐标下梁的单元刚度矩阵kc=T2 *kc0*T2;%总体坐标下柱子的单元刚度矩阵ko=T3 *ko0*T3;%总体坐标斜杆的单元刚度矩阵X=zeros(108,108);Y=zeros(108,108);Z=zeros(108,108);%定义108阶0矩阵K1=zeros(108,108);K2=zeros(108,108);K3=zeros(108,108);K4=zeros(108,108);K5=zeros(108,108);K6=zeros(108,108);K7=zeros(108,108);K8=zeros(108,108);K9=zeros(108,108);%把梁杆单元矩阵整合到总体刚度矩阵的循环语句forii=1:11X(3*ii-2:3*ii+3,3*ii-2:3*ii+3)=kb;K1=K1+X;X=zeros(108,108);endforii=13:23Y(3*ii-2:3*ii+3,3*ii-2:3*ii+3)=kb;K1=K1+Y;Y=zeros(108,108);endforii=25:35Z(3*ii-2:3*ii+3,3*ii-2:3*ii+3)=kb;K1=K1+Z;Z=zeros(108,108);end%把柱杆单元矩阵整合到总体刚度矩阵的循环语句forjj=1:36K2(3*jj-2:3*jj,3*jj-2:3*jj)=kc(4:6,4:6);endforjj=1:24K3(3*jj-2:3*jj,3*jj-2:3*jj)=kc(1:3,1:3);endforjj=1:24K4(3*jj-2:3*jj,3*jj+34:3*jj+36)=kc(1:3,4:6);endforjj=1:24K5(3*jj+34:3*jj+36,3*jj-2:3*jj)=kc(4:6,1:3);end%把斜杆杆单元矩阵整合到总体刚度矩阵的循环语句forgg=3:12:27K6(3*gg-2:3*gg,3*gg-2:3*gg)=ko(4:6,4:6);endforgg=2:12:14K7(3*gg-2:3*gg,3*gg-2:3*gg)=ko(1:3,1:3);endforgg=2:12:14K8(3*gg-2:3*gg,3*gg+37:3*gg+39)=ko(1:3,4:6);endforgg=2:12:14K9(3*gg+37:3*gg+39,3*gg-2:3*gg)=ko(4:6,1:3);endK=K1+K2+K3+K4+K5+K6+K7+K8+K9;%总体刚度矩阵P=zeros(108,1);P(1,1)=h*q;P(37,1)=h*

matlab 矩阵位移法编程 结构力学,matlab 矩阵位移法编程 结构力学.doc相关推荐

  1. matlab riccati法 临界转速,利用传递矩阵法和Riccati传递矩阵法分析转子临界转速...

    利用传递矩阵法和Riccati传递矩阵法分析转子临界转速 利用传递矩阵法和Riccati传递矩阵法分析转子临界转速 一. 所需求解转子参数 将转子简化为如下所示: 三个盘的参数为: 另,阶梯轴的三段轴 ...

  2. matlab的矩阵编译器,MATLAB引擎方式实现VC与MATLAB混合编程

    VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便.Matlab是一款将数值分析.矩阵计算.信号处理和图形显 ...

  3. 结构力学计算机矩阵位移法,结构力学-矩阵位移法.ppt

    <结构力学-矩阵位移法.ppt>由会员分享,可在线阅读,更多相关<结构力学-矩阵位移法.ppt(42页珍藏版)>请在装配图网上搜索. 1.结构力学,2 / 42,第七节 平面刚 ...

  4. matlab将矩阵分解成lu,10行代码实现矩阵的LU分解(matlab)

    最近由于数值分析实验课要求,需要通过matlab实现矩阵的LU分解.但是看了很多网友写的程序,基本上都是通过循环嵌套循环来实现矩阵的LU分解.略感琐碎,因此最近两天便一直在思考能否利用矩阵的乘v法,来 ...

  5. matlab交叉耦合,交叉耦合滤波器怎么从耦合矩阵得出频率响应

    写关于滤波器的耦合矩阵的论文中发现的 不少国外的文章都是给出了耦合矩阵就能直接画出S11 S21的频率响应曲线 请问哪位大侠知道这是怎么得出的,滤波器的回损和插损和耦合系数之间有什么关系么 如果有相关 ...

  6. Matlab中创建、串联和扩展矩阵

    目录 构建数据矩阵 专用矩阵函数 串联矩阵 生成数值序列 扩展矩阵 空数组 最基本的 MATLAB® 数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以是数字.逻辑值(true 或 ...

  7. matlab建立荧光矩阵,基于Matlab的溶解有机物的三维荧光矩阵构建

    基于Matlab 的溶解有机物的三维荧光矩阵构建 钱伟1,2,3,杨柳明1,2,3,王宁3,张莉3 [摘要]摘要:三维荧光光谱(EEM)结合平行因子分析(PARAFAC)能够根据水体中有机物的荧光性质 ...

  8. 这才是Matlab的正确打开方式!——Matlab矩阵、绘图、函数计算与数据读取

    Matlab基础学习笔记 基础及预设置 矩阵 各种函数 二维制图 三维制图 运算 输入/输出 各种语句 数据读出/写入 这里用的是Matlab2016a版本 基础及预设置 1.设置路径 选择路径,或是 ...

  9. MATLAB基本操作(九):可视化矩阵的矢量场quiver函数

    这里所说的矢量化显示是指为矩阵中的每一个点标注出该点的运动方向,或者其他矢量.如下图所示 下同通过一个基本的例子来说明一个大致的过程. 假设有一个矩阵A=[1 2 3 ;4 5 6],在每一个处沿水平 ...

最新文章

  1. 第四十四章 微服务CICD(6)- gitlab + jenkins + docker + k8s
  2. 手把手教会你小程序登录鉴权
  3. JavaScript(十三)面向对象
  4. 【搜索】$P1092$虫食算
  5. iOS提交TestFlight测试显示缺少合规证明
  6. 爬虫cookie过期_【Python】Scrapy爬虫框架之Request和Response
  7. android 新浪微博客户端的表情功能的实现,flutter教程pdf
  8. 实验: 配置trunk
  9. 境外业务性能优化实践
  10. Win7,Win10电脑内显示文件后缀(扩展名)的方法
  11. 企业商誉管理系统(业务开展)
  12. 太阳电池板特性实验_太阳电池伏安特性的测量
  13. 国内外程序化交易软件简介
  14. zabbix报警 Lack of free swap space on zabbix
  15. 7-2 养兔子 (20 分)
  16. 编程开发常用的英语单词
  17. oracle 每3位加逗号,[DB][Oracle]Oracle格式化数字的方法(指定小数点位数,每3位加逗号)...
  18. 富士康打工到底能不能攒到钱?
  19. Elsevier期刊模板使用方法总结
  20. 基于 go-zero 实现网盘系统

热门文章

  1. m基于中继协助的认知无线电频谱切换机制的matlab仿真分析
  2. 拿到外企offer了!
  3. 华山论剑之契约式编程与防御式编程
  4. 《金字塔原理》的读后感作文3100字
  5. 【已解决】redis安装完毕后,外网或者其他服务器无法访问
  6. exar 带容隔离_一文读懂如何隔离模拟信号
  7. gprs modem java_gprs modem 上网
  8. c语言求一元二次方程的根
  9. vue +websocket 加载动图并实现暂停与播放
  10. raspberry pi_6个Raspberry Pi教程试用