六跨连续梁内力计算程序程序
连续梁内力计算程序设计报告书

连续梁内力计算程序设计报告书院系:土木工程班级:1233116班姓名:侯新明学号:1123310627一、程序功能1.计算多种荷载作用下连续梁指定截面的弯矩和剪力。
2.计算指定截面的弯矩影响线。
3.计算指定截面的剪力影响线。
4.计算指定支座的反力影响线。
二、使用说明首先在程序所在文件夹建立初始数据文件,文本格式,文件名任意(如data1),随后按照以下顺序输入数据第1组数据----基本参数共五个数据,依次为单元个数,支承类型编号,结点荷载个数,非结点荷载个数,弹性模量。
对支承类型编号作如下规定:梁两侧若是铰支,支承类型编号为1;左端固定端,右侧铰支编号为2;左侧铰支,右侧固定编号为3,两端均为固定编号为4。
弹性模量的数值任意,因为内力与刚度大小无关,仅与各杆刚度比值有关。
第2组数据----单元数据每个单元由两个数据描述,单元长度和截面惯性矩。
以从左到右次序建立各单元数据,n个单元有2n个数据。
第3组数据----结点荷载数据每个结点荷载两个数据描述,荷载大小(逆时针为正)和荷载作用的结点号。
m个结点荷载,有2m个数据。
若无结点荷载,此组数据无需建立。
第4组数据----非结点荷载数据每个非结点荷载用四个数据描述,荷载大小(方向向下为正),荷载在单元上的位置,荷载所在的单元编号,荷载类型。
共有四种荷载类型,集中力、均布力、集中力偶和三角形分布力。
均布力编号为1,均布力是从单元左端开始,结束位置为荷载位置。
集中力类型编号为2,荷载位置指荷载作用点到单元左端的距离。
集中力偶编号为3,荷载位置指荷载作用点到单元左端的距离。
三角形分布力编号为4若无非结点荷载此组数据无需建立。
注意:以上数据均无单位,故所有数据的单位要统一,如长度用m,力用kN,力矩用kN.m,截面惯性矩用m4。
结果则为kN.m。
然后运行“连续梁内力计算程序.exe”,输入初始文件名称,根据说明按数字键后回车进行指定类型计算运行结果输出在“连续梁内力计算结果.txt”中,“ZB.TXT”表示已连续梁为横轴,坐断为起点的横坐标。
连续梁计算

连续梁计算一、几何数据及计算参数构件编号: LL-1混凝土: C25 主筋: HRB335 箍筋: HPB235保护层厚度as(mm): 25.00 指定主筋强度:无跨中弯矩调整系数: 1.00 支座弯矩调整系数: 1.00(说明:弯矩调整系数只影响配筋)自动计算梁自重:是恒载系数: 1.20 活载系数: 1.40二、荷载数据荷载工况1 (恒载):三、内力及配筋1. 弯矩图2. 剪力图3. 截面内力及配筋0支座: 正弯矩 0.00 kN*m,负弯矩 0.00 kN*m,剪力 0.00 kN,上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm21跨中: 正弯矩 0.00 kN*m,负弯矩 15.48 kN*m,剪力-70.03 kN,挠度1.13mm(↓),位置:左端裂缝 0.00mm上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2箍筋: d6@180, 实际面积: 314.16 mm2/m, 计算面积: 283.33 mm2/m 1支座: 正弯矩 0.00 kN*m, 位置: 0.00m负弯矩 35.02 kN*m, 位置: 0.00m剪力左 -70.03 kN, 位置: 1.00m剪力右 211.09 kN, 位置: 0.00m上钢筋: 3D12, 实际面积: 339.29 mm2, 计算面积: 300.00 mm2下钢筋: 3D12, 实际面积: 339.29 mm2, 计算面积: 300.00 mm22跨中: 正弯矩 272.01 kN*m, 位置: 2.91m负弯矩 0.00 kN*m, 位置: 0.00m剪力-333.13 kN, 位置: 7.50m挠度6.65mm(↓),位置:跨中裂缝 0.31mm上钢筋: 4D14, 实际面积: 615.75 mm2, 计算面积: 567.04 mm2下钢筋: 5D22, 实际面积: 1900.66 mm2, 计算面积: 1890.13 mm2箍筋: d6@30, 实际面积: 1884.96 mm2/m, 计算面积: 1452.83 mm2/m 2支座: 正弯矩 0.00 kN*m,负弯矩 492.70 kN*m,剪力左 -333.13 kN,剪力右 333.13 kN,上钢筋: 3D40, 实际面积: 3769.91 mm2, 计算面积: 3727.31 mm2下钢筋: 5D18, 实际面积: 1272.35 mm2, 计算面积: 1118.19 mm23跨中: 正弯矩 272.01 kN*m,负弯矩 0.00 kN*m,剪力333.13 kN,挠度6.65mm(↓),位置:跨中裂缝 0.31mm上钢筋: 4D14, 实际面积: 615.75 mm2, 计算面积: 567.04 mm2下钢筋: 5D22, 实际面积: 1900.66 mm2, 计算面积: 1890.13 mm2箍筋: d6@30, 实际面积: 1884.96 mm2/m, 计算面积: 1452.83 mm2/m 3支座: 正弯矩 0.00 kN*m, 位置: 0.00m负弯矩 35.02 kN*m, 位置: 0.00m剪力左 -211.09 kN, 位置: 7.50m剪力右 70.03 kN, 位置: 0.00m上钢筋: 2D18, 实际面积: 508.94 mm2, 计算面积: 463.89 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm24跨中: 正弯矩 0.00 kN*m, 位置: 0.00m负弯矩 15.56 kN*m, 位置: 0.33m剪力70.03 kN, 位置: 0.00m挠度1.12mm(↓),位置:右端裂缝 0.00mm上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2箍筋: d6@180, 实际面积: 314.16 mm2/m, 计算面积: 283.33 mm2/m 4支座: 正弯矩 0.00 kN*m,负弯矩 0.00 kN*m,剪力 0.00 kN,上钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2下钢筋: 2D12, 实际面积: 226.19 mm2, 计算面积: 150.00 mm2。
2020水运工程结构CAD集成软件易工 V3.0用户手册

船舶系缆力、船舶挤靠力、船舶靠岸撞击力、船舶靠岸撞击力(英国标准)、系泊船舶横浪作用下撞击力
任意断面上波浪力、单桩上波浪力、波浪力上托力、波浪下砸力
Autodesk Robot、ANYSY输出
可以将结构模型输入到Autodesk Robot程序中转化为Autodesk Robot计算文件,也直接生成AYSYS命令流文件,可以直接比对或校验本系统计算结果
《水运工程混凝土施工规范》(JTS 202-2011)
《水运工程地基规范》(JTS147-2017)
三、基本功能模块介绍
3.1 高桩板梁式码头CAD软件
软件主要依据《码头结构设计软件》JTS167-2018中3、4、5章节及其他配套规范编制的,是针对高桩板梁式结构分析的专用结构设计软件。它包括荷载计算、结构内力计算、结构配筋计算,此外该系统提供直观的3D视图方式,显示码头实体模型、荷载、作用效应等,并且为用户提供完整的WORD格式报告书,提供AutodeskRobot计算模型输出便于用户校核计算结构正确性。
1、顶面水平式;2、顶面斜坡式
3
桩入土段模型
1、假想嵌固点法;2、M法
4
桩截面及桩基类型
截面形式(实心圆桩、空心圆桩、实心方桩、空心方桩、钢管混凝土混合桩);桩基形式(等截面、变截面)
5
包含荷载
自重
自动计算结构自重
浮力
自动计算浮力
均载
自动计算不利效应
轨道荷载
包含规范上各种轨道类型机械荷载数据库
波浪力
图 3.6-1
图 3.1-1
排架计算部分
编号
模块
内容
1
结构类型
1、现浇横梁式结构;2、桩帽节点式结构
多跨连续梁课程设计

多跨连续梁课程设计一、课程目标知识目标:1. 学生能理解多跨连续梁的基本结构特点,掌握其受力分析原理。
2. 学生能掌握多跨连续梁的内力计算方法,包括弯矩、剪力和轴力的计算。
3. 学生能了解多跨连续梁在不同工况下的荷载组合及设计原则。
技能目标:1. 学生能够运用所学知识,对实际工程中的多跨连续梁进行受力分析和内力计算。
2. 学生能够根据计算结果,提出合理的设计方案,并运用相关软件进行模拟分析。
3. 学生能够通过团队合作,解决多跨连续梁设计中的实际问题。
情感态度价值观目标:1. 培养学生对结构工程的兴趣,激发他们热爱科学、探索未知的热情。
2. 培养学生的创新意识和实践能力,使他们具备解决实际问题的信心和勇气。
3. 培养学生的团队协作精神,提高沟通与交流能力,使他们能够在工作中与他人合作,共同完成任务。
本课程针对高年级土木工程专业学生,结合课程性质、学生特点和教学要求,将目标分解为具体的学习成果。
通过本课程的学习,学生将能够掌握多跨连续梁的相关知识,具备实际工程设计能力,并在情感态度价值观方面得到全面提升。
为确保教学效果,课程设计将注重理论与实践相结合,充分调动学生的主动性和积极性。
二、教学内容1. 多跨连续梁结构概述- 结构特点及分类- 工程应用案例介绍2. 多跨连续梁受力分析- 弯矩、剪力、轴力的产生及计算方法- 支座反力的计算与分配- 应力分布与变形特点3. 多跨连续梁内力计算- 弯矩分配法- 超静定结构影响线法- 计算机辅助分析软件应用4. 多跨连续梁设计原则与方法- 荷载组合与设计准则- 材料选择与截面设计- 抗震设计要求5. 实践教学环节- 实际工程案例分析与讨论- 团队合作设计多跨连续梁- 设计计算书及图纸绘制教学内容根据课程目标,结合教材相关章节,进行科学、系统地组织。
教学大纲明确各部分内容的安排和进度,确保学生在掌握理论知识的基础上,能够应用到实际工程设计中。
通过本章节的学习,学生将全面了解多跨连续梁的结构特点、受力分析、内力计算和设计方法,为今后从事相关领域工作奠定基础。
任务三十一多跨连续梁的内力包络图

R左/a=280/6<(Pk+R右)/b=560/6 (Pk+R左)/a= 560/6>R右/b=280/6
三、影响线的应用
2.
确定荷载最不利位置
由计算结果可见,P2是临界荷载。
(3) 计算MCmax P1、P2、P3作用点处所对应的MC影响线上的竖标见图31.9(c)。
MCmax=P1y1+P2y2+P3y3 =280×(0.6+3+2.28)kN· m =1646.4 kN· m
二、单跨静定梁的影响线
RA影响线:
仍取A点为原点,P=1至A的距离为变量x。根据力矩平衡条件 ∑MB=0,有
RAl-(l-x)=0
RA=(l-x)/l 由 x=0时,RA=1 x=l时,RA=0 可以绘出RA的影响线如图31.1(c)所示。
二、单跨静定梁的影响线
二、单跨静定梁的影响线
当x=0时,RB=0
当x=l时,RB=1 RB的影响线如图31.1(b)所示。
由RB影响线的绘制过程可知,作影响线的一般步骤是:
① 选择坐标系,定坐标原点,并用变量x标记单位移动荷载P=1 的作用位置; ② 利用静力平衡条件确定所求量值影响线的方程,并注明变量x
取值范围; ③ 根据影响线方程绘出影响线。
四、简支梁的内力包络图和绝对最大弯矩
2.
简支梁的绝对最大弯矩
P1、P2、P3、P4作用点处所对应的MC影响线上的竖标见图
31.13(b)。
MCmax=P1y1+P2y2+P3y3+P4y4=574kN· m
不等跨等截面连续梁内力计算

2跨等截面连续梁计算
B1= 300.8526 A2= 441.4234 N1= 4453.656
续梁计算
31.12421
B1=
0
Mb=
0
B1=
0
Mb=
0
23.34316
A2=
0
Mc=
0
A2=
0
Mc=
0
23.34316
B2=
0
Md=
0
B2=
0
Md=
0
31.12421
A3=
0
Me=
0
A3=
0
Me=
0
B3=
0
N4=
0
恒载标准值Pg1=
恒载标准值Pg2=
恒载标准值Pg3=
恒载标准值Pg4=
活载标准值Pq1=
活载标准值Pq2=
活载标准值Pq3=
活载标准值Pq4= 活载不利布置
支座弯矩调整系 数a=
跨度L1= 跨度L2= 跨度L3= 跨度L4=
a1= a2= a3=
71.4
71.4
71.4
71.4
330
330
B3= 2037.42
B3=
A4= 2037.42
A4=
0
A4=
N1= 12224.52
N1= 12224.52
N1=
N2= 12224.52
N2= 12224.52
N2=
N3= 24449.04
N3= 12224.52
N3=
0
B1=
0
Mb=
0
B1=
0
Mb=
0
0
A2=0Mc=来自0A2=0
多跨连续梁计算程序

多跨连续梁计算程序V2.0用户使用手册上海易工工程技术服务有限公司目 次一、功能简介 (3)1.1 基本功能 (3)1.2 运行环境 (3)1.3 计算依据 (3)1.4 参数输入约定 (3)1.4.1 坐标系约定 (3)1.4.2 作用效应值的正负号约定 (3)1.4.3 参数采用的量纲 (3)1.5 计算原理 (3)1.5.1 内力计算 (3)1.5.2 效应组合 (4)1.5.3 配筋计算 (4)二、程序说明 (5)2.1 程序功能 (5)2.2 程序界面 (5)三、参数输入 (6)3.1基本参数输入 (6)3.2 地基系数 (6)3.3 截面参数 (6)3.4 连续梁参数 (8)3.5 节点支撑、连接方式 (9)3.6 荷载定义 (10)3.7 荷载输入 (11)3.8 组合参数输入 (13)四、结果查询、显示和输出 (15)4.1 计算结果查询 (15)4.2 计算结果图形显示 (15)4.3 计算结果报告书输出 (15)五、计算算例 (17)5.1、算例1刚性支座 (17)5.2 算例2弹性支座 (21)5.3 算例3弹性地基梁 (23)六、附录 (27)6.1 分项系数设置 (27)6.2 材料设置 (27)6.3 支撑方式设置 (27)6.4 背景颜色设置 (28)一、功能简介1.1 基本功能多跨连续梁计算系统是依据港口工程最新技术规范开发的工程辅助设计软件,该系统考虑多种支撑方式(弹性支撑、刚性支撑、自定义支撑)、多种单元模式(普通梁单元、弹性地基梁单元)、多种连接方式(节点铰接、节点固结)、多种荷载(集中力、均布力、滚动力),并且考虑叠合构件问题,此外该系统提供直观的3D视图方式显示连续梁实体模型、荷载、作用效应等,并且为用户提供完整的WORD格式报告书。
1.2 运行环境项 目最 低推 荐处理器Pentium II 350Pentium III450内 存128MB256MB可用硬盘50MB100MB显示分辨率800*6001024*768打印机Windows支持的图形打印机激光打印机操作系统Windows 98Windows 2000/xp1.3 计算依据使用规范《港口工程荷载规范》 (JTS 144-1-2010)《港口工程混凝土结构设计规范》(JTJ 267)1.4 参数输入约定1.4.1 坐标系约定X方向为沿连续梁方向,X零点为连续梁左侧。
连续梁桥—内力计算

5.根据规范构造、施工要求,将估算的预 应力筋进行横、立、平面布置; 6.根据钢筋布置结果,考虑钢筋对主梁截 面几何特性的影响,重新模拟施工过程,进行 主梁真实作用效应计算,再次进行相应作用效
应组合即第二次效应组合;
7.据第二次效应组合值,进行规定状况下
极限状态的截面强度、应力、裂缝、变形等验
算;
5.例
有一联 30+45+30m 的预应力砼变截面连续梁桥,
按一次落架施工法,单元离散图如下:
(三)简支转连续施工
先架设预制主梁形成简支梁,再主梁在 墩顶连成整体形成连续梁体系。以4跨连续梁 桥为例,施工过程如下:
1.阶段1:架设主梁
2.阶段2:边跨合龙
3.阶段3:中跨合龙
4.阶段4:体系转换
1. 在桥梁一端搭设的台座上逐段预制、
逐段向桥另一端推进。结构体系经历悬臂梁、
简支梁、双跨连续梁、多跨连续梁直到成桥 连续梁体系。 2. 在顶推过程中,结构体系、梁体内力 不断发生变化,施工过程中的主梁各截面自 重内力比使用状态下自重内力更不利。
3. 主梁配筋由施工过程内力包络图和使
用阶段内力包络图共同决定。
(二)满堂支架施工
1.适用:桥墩不高、桥下地面适宜搭设支架中
小跨径连续梁桥。
2.该施工法无体系转换,一期、期恒载都按一
次落架方式作用在连续梁上,叠加两个施工阶段的
内力即为结构重力作用的内力;
3.结构自重内力可用力法、位移法、影响线法、 有限单元法计算; 4.采用有限单元法时,将各单元自重简化为均 布荷载,横隔板简化为集中力作用在横隔板中心线
主要步骤如下: 1.细化结构尺寸、确定材料类型; 2.模拟实际施工阶段,计算相关作用内力 3.将各作用内力进行持久状况承载能力和 正常使用极限状态效应组合即第一次效应组合
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六跨连续梁内力计算程序说明文档一.程序适用范围本程序用来解决六跨连续梁在荷载作用下的弯矩计算。
荷载可以是集中力Fp(作用于跨中)、分布荷载q(分布全垮)、集中力偶m(作用于结点)的任意组合情况。
端部支承可为铰支或固支。
二.程序编辑方法使用Turbo C按矩阵位移法的思路进行编辑,用Turbo C中的数组来完成矩阵的实现,关键的求解K⊿=P的步骤用高斯消元法。
三.程序使用方法运行程序后,按照提示,依次输入结点编号,单元编号,单元长度,抗弯刚度(EI的倍数),集中力,均部荷载,集中力偶,各个数据间用空格隔开,每一项输入完毕后按回车键,所有数据输入完毕后按任意键输出结果。
输出结果中包括输入的数据(以便校核),角位移的值(以1/EI为单位)以及每个单元的左右两端弯矩值。
四.程序试算1.算例1算力图示:输入数据:结点:1 2 3 4 5 6 0;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6;EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(11.383738,-1.434142,-8.980504,14.053733,-10.192107,10.048027,0)EI单元编号 1 2 3 4 5 6 左端弯矩 0.00000 -14.92439 -7.30243 -12.37565 -8.16809 -7.95197 右端弯矩 14.92439-0.6975712.3756518.168097.9519723.024012. 算例2 算例图示:6EI 8kN/m 4m 3m 2m 8m kN/m 12365474kN/m3m 3m3m 2m 6m12kN 8kN8kN.m6kN10kN.mEI EI EI 1.5EI1.52EI输入数据:结点:0 1 2 3 4 5 6; 单元:1 2 3 4 5 6; 长度:4 6 6 8 4 6; EI :1 1.5 1 2 1 1.5;Fp :0 12 8 0 6 0; q :8 0 0 4 0 6;m :0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(0,1.686721,-10.080218,14.871010,-12.183221,17.195206,-26.597603)EI单元编号 1 2 3 4 5 6 左端弯矩 -9.82331 -12.35339 -7.76314 -12.55393 -6.58562 -14.10360 右端弯矩 12.35339-0.2368612.5539316.5856214.103600.000003. 算例3 算例图示:6EI8kN/m 4m 3m 2m 8m kN/m1236544kN/m3m 3m3m 2m 6m12kN 8kN8kN.m6kN 10kN.mEI1.5EI EI EI 2EI 1.5输入数据:结点:0 1 2 3 4 5 0; 单元:1 2 3 4 5 6;长度:4 6 6 8 4 6;EI :1 1.5 1 2 1 1.5;Fp :0 12 8 0 6 0; q :8 0 0 4 0 6; m :0 0 -8 0 10 0 0运行程序如下:结果为: 角位移为:1(0,1.653925,-9.949034,14.264283,-10.248253,10.062063,0)EI单元编号 1 2 3 4 5 6 左端弯矩 -9.83978 -12.32059 -7.87793 -12.19318 -8.21722 -7.93794 右端弯矩 12.32059-0.1220712.1931818.217227.9379423.031034. 算例4 算例图示:6EI 8kN/m 4m 3m 2m 8m kN/m 12365474kN/m3m 3m3m 2m 6m12kN 8kN8kN.m 6kN10kN.mEI EI EI 1.5EI1.52EI输入数据:结点:1 2 3 4 5 6 7;单元:1 2 3 4 5 6;长度:4 6 6 8 4 6;EI:1 1.5 1 2 1 1.5;Fp:0 12 8 0 6 0;q:8 0 0 4 0 6;m:0 0 -8 0 10 0 0运行程序如下:结果为:角位移为:1(11.364772,-1.396211,-9.113262,14.660626,-12.126579,17.179023,-26.589511) EI单元编号123456左端弯矩-0.00000-14.25984-7.18863-12.73600-6.53707-14.11573右端弯矩14.95284-0.8113712.7360016.5370714.115730.00000五.源程序#include<stdio.h>#include<conio.h>定义变量int joint[7]; 结点编号int unit[6]; 单元编号float length[6]; 长度float EI[6]; 抗弯刚度float P[6]; 集中力float q[6]; 均部荷载float m[7]; 集中力偶double I[6]; 线刚度int number=7,i,j;double K[7][7]={0}; 整体刚度矩阵double k[6][2][2]; 单元刚度矩阵double MP[6][2],Mq[6][2],Mlast[6][2],M[7]={0},tatleM[7],mm[7],Mqueue[7]={0},antiM[7]={0};依次为:集中力、均布荷载引起的固端弯矩,最终杆端弯矩,全部荷载引起的弯矩,总的结点荷载,按结点编号排列的结点集中力偶,按结点编号排列的固端弯矩,等效结点弯矩double angle[7]={0}; 角位移void input(); 输入函数void solve(); 求解函数void output(); 输出函数void Gauss(); 高斯消元法void main(){input();solve();output();}void input(){clrscr();printf("Please input data.\n\nThe joint number:");for(i=0;i<7;i++)scanf("%d",&joint[i]);printf("\nThe unit number:");for(i=0;i<6;i++)scanf("%d",&unit[i]);printf("\nThe length:");for(i=0;i<6;i++)scanf("%f",&length[i]);printf("\nThe EI:");for(i=0;i<6;i++)scanf("%f",&EI[i]);printf("\nThe Fp:");for(i=0;i<6;i++)scanf("%f",&P[i]);printf("\nThe q:");for(i=0;i<6;i++)scanf("%f",&q[i]);printf("\nThe m:");for(i=0;i<6;i++)scanf("%f",&m[i]);}void solve(){for(i=0;i<7;i++){if(joint[i]==0) number-=1;}for(i=0;i<6;i++){MP[i][0]=-P[i]*length[i]/8;MP[i][1]=P[i]*length[i]/8;}for(i=0;i<6;i++){Mq[i][0]=-q[i]*length[i]*length[i]/12;Mq[i][1]=q[i]*length[i]*length[i]/12;}for(i=1;i<6;i++){M[i]=MP[i-1][1]+MP[i][0]+Mq[i-1][1]+Mq[i][0];}M[0]=MP[0][0]+Mq[0][0];M[6]=MP[5][1]+Mq[5][1];if(joint[0]==0)j=1;else j=0;for(i=j;i<7&&joint[i]>=1;i++){Mqueue[joint[i]-1]=M[i];mm[joint[i]-1]=m[i];}for(i=0;i<7;i++)antiM[i]=-Mqueue[i];for(i=0;i<7;i++)tatleM[i]=antiM[i]+mm[i];for(i=0;i<6;i++)I[i]=(EI[i]/length[i]);if(joint[0]==0) K[joint[1]-1][joint[1]-1]+=4*I[0];if(joint[6]==0) K[joint[5]-1][joint[5]-1]+=4*I[5];for(i=0;i<6;i++){k[i][0][0]=4*I[i],k[i][0][1]=2*I[i],k[i][1][0]=2*I[i],k[i][1][1]=4*I[i];}for(i=j;joint[i]>=1&&joint[i+1]>=1&&i<6;i++) {K[joint[i]-1][joint[i]-1]+=k[i][0][0];K[joint[i]-1][joint[i+1]-1]+=k[i][0][1];K[joint[i+1]-1][joint[i]-1]+=k[i][1][0];K[joint[i+1]-1][joint[i+1]-1]+=k[i][1][1];}getch();}void output(){clrscr();printf("The data you put in:\n\tjoint :");for(i=0;i<7;i++){printf("\t");printf("%d",joint[i]);}printf("\n\n\tunit :");for(i=0;i<6;i++){printf("\t");printf("%d",unit[i]);}printf("\n\n\tlength :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",length[i]);}printf("\n\n\tEI :");for(i=0;i<6;i++){printf("\t");printf("%1.1f",EI[i]);}printf("\n\n\tFp :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",P[i]);}printf("\n\n\tq :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",q[i]);}printf("\n\n\tm :");for(i=0;i<6;i++){printf("\t");printf("%1.0f",m[i]);}Gauss();for(i=0;i<6;i++){Mlast[i][0]=k[i][0][0]*angle[joint[i]-1]+k[i][0][1]*angle[joint[i+1]-1]+MP[i][0]+Mq[i][0];Mlast[i][1]=k[i][1][0]*angle[joint[i]-1]+k[i][1][1]*angle[joint[i+1]-1]+MP[i][1]+Mq[i][1];}printf("\n--------------------------------------------------------------------------------");printf("\nThe angle(1/EI):\n\n");for(i=0;i<number;i++){printf("%12.6f",angle[i]);}printf("\n--------------------------------------------------------------------------------");printf("\nunit number");for(i=0;i<6;i++){printf("%6d ",unit[i]);}printf("\n\nleft M \t");for(i=0;i<6;i++) printf("%12.5f",Mlast[i][0]);printf("\n\nright M\t");for(i=0;i<6;i++) printf("%12.5f",Mlast[i][1]);getch();}.void Gauss(){int l,m;double box;double BOX[7]={0};for(j=0;j<(number-1);j++){for(i=j;i<number;i++){if(K[i][j]!=0){for(m=0;m<number;m++){BOX[m]=K[i][m];K[i][m]=K[j][m];K[j][m]=BOX[m];}box=tatleM[i];tatleM[i]=tatleM[j];tatleM[j]=box;break;}}for(m=j+1;m<number;m++){K[j][m]/=K[j][j];}tatleM[j]/=K[j][j];K[j][j]=1;for(l=j+1;l<number;l++){tatleM[l]+=-tatleM[j]*K[l][j];for(m=number-1;m>=j;m--){K[l][m]+=-K[j][m]*K[l][j];}}}tatleM[number-1]/=K[number-1][number-1];K[number-1][number-1]=1;for(i=0;i<number;i++)angle[i]=tatleM[i];for(i=number-2;i>=0;i--){for(j=number-1;j>i;j--)angle[i]=angle[i]-K[i][j]*angle[j];}}整理文档。